資料結構 線性表知識總結

2021-09-29 02:14:44 字數 1203 閱讀 6623

4、插入操作

線性表的插入運算是指在表的第i(1<=i<=n+1)個位置,插入乙個新元素e,使長度為n的線性表變成長度為n+1的線性表

(注意元素移動和順序表長度增加)

5、插入演算法的實現

template

void seqlist::insert(int i,t x)

5、分析

插在最後不移動元素,時間複雜性為o(1);

插在開頭需要移動n個元素,o(n);

6、刪除演算法的實現

template

void seqlist::delete(int i,t x)

時間複雜度為o(1)

②按值查詢:查詢指定的值在順序表中的位置

template

int seqlist::locate(t x);

4、單鏈表的實現

template

class linklist

linklist(t a,int n);

~linklist();

int length();

t get(int i);

int locate(t x);

void insert(int i,t x);

t delete(int i);

void printlist();

private:

node*first;//單鏈表的頭指標,可以省略

};5、頭插法

6、尾插法

四、順序表和單鏈表的比較

1、時間效能的比較

①若線性表的操作主要是進行查詢,很少做插入和刪除時,宜採用順序表做儲存結構

②對於頻繁進行插入和刪除的線性表,宜採用鍊錶做儲存結構

2、空間效能比較

儲存密度=節點資料本身所佔的儲存量/節點結構所佔的儲存總量

當線性表的長度變化不大,易於事先確定其大小時,為了節約儲存空間,宜採用順序表作為儲存結構

五、線性表的其他儲存方法

1、迴圈鍊錶、

雙向鍊錶、

靜態鍊錶:插入和刪除時不需要移動元素,直接修改指標即可,因此效率高。但是不能按需進行儲存空間的分配

2、間接定址(指標陣列)

①線性表的順序儲存的優點:支援隨機訪問

②線性表的鏈式儲存的優點:插入和刪除資料時不需要移動資料

③間接定址:將指標和陣列結合起來的一種方法,他將陣列中的儲存資料元素的單元改為儲存指向該元素的指標

資料結構線性表知識講解

定義 線性表是具有相同特性資料元素的有限序列 為什麼要具有相同特性的資料元素?把同一類事物歸類,方便用計算機進行批量處理。如果資料元素沒有相同特性,那麼就需要用很多種方法去處理這些資料,那麼將這一類資料組織在一起將沒有意義,這就失去了資料結構存在的意義。儲存結構 順序結構 相鄰資料元素的存放位址也相...

總結二 資料結構 線性表

線性表簡單的說就是n個資料元素的有限序列。特點 1.存在唯一的乙個被稱為 第乙個 的資料元素 2.存在唯一的乙個被稱為 最後乙個 的資料元素 3.除第乙個之外,集合中的每乙個資料元素均只有乙個前驅 4.除最後乙個之外,集合中每個資料元素均只有乙個後繼。按物理儲存方式分為兩大類 順序表示和鏈式表示 線...

資料結構(線性表)

1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...