《大話資料結構》學習筆記(三)

2021-08-04 15:46:51 字數 1230 閱讀 2566

1、線性表 有限序列 前驅 後繼 空表 位序

2、線性表操作 重置為空表 位序得到元素 查詢元素 線性表長度 插入和刪除元素 其他操作可由基本操作組合而成

3、線性表儲存 順序儲存 起始位置 最大容量 當前長度 陣列長度 位址

4、loc(ai) = loc(a1) + (i - 1) * c 線性表順序儲存訪問時間效能o(1) 隨機儲存結構

5、順序儲存 插入 刪除 時間複雜度o(n)

6、複習c語言中的*與&,真忘了,都記反了

7、線性表順序儲存 無邏輯關係儲存開銷 快速訪問 但插入刪除開銷大 長度變化時 儲存空間難確定 儲存碎片

部分**:

#define ok 1

#define error 0

#define true 1

#define false 0

#define maxsize 20

typedef int elemtype;

typedef struct

sqlist;

typedef int status;

status getelem(sqlist l, int i, elemtype *e)

//自定義

int listlength(sqlist l)

//自定義,光想怎麼把getelem()用上了,寫了個奇葩實現

int locateelem(sqlist l, elemtype e)

else

printf ("error!\n");

}//abnomal return value

return l.length+1;

}//常規思路實現

int locateelem1(sqlist l, elemtype e)

//abnomal return value

return l.length+1;

}status listinsert(sqlist *l, int i, elemtype e)

l->data[i-1] = e;

l->length++;

return ok;

}status listdelete(sqlist *l, int i, elemtype *e)

l->length--;

return ok;

}void unionl(sqlist *la, sqlist lb)

}

《大話資料結構》 學習筆記1

第一章 資料結構緒論 經典 if you give someone a program you will frustrate them for a day if you teach tem how to program,you will frustrate them for a lifetim.如果...

《大話資料結構》 學習筆記2

第二章 演算法 2.2 資料結構 與 演算法的關係 簡單的說 資料結構 與 演算法 的關係 即 梁山伯 與 祝英台 的關係 把其中一方隔離出來唱獨角戲.沒意義!2.3 兩種演算法的比較 現寫乙個求1 2 3 100結果的程式,你應該怎麼寫呢?大多數人馬上寫出下面的c語言 int i,sum 0,n ...

《大話資料結構》 學習筆記5

線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。線性表 a1,a2,a3,an 的順序儲存示意圖如下 a1a2 ai 1 ai.an 線性表的順序儲存結構,說白了,就是 在記憶體中找了塊地兒,通過佔位的形式,把一定的記憶體空間給佔了,然後把相同資料型別的資料元素一次存放...