線性表定義:零個或多個資料元素的有限序列 (包含順序表和煉表)
順序表:查詢,插入,刪除,遍歷
1、查詢:
按位查詢的時間複雜度為o(1)
按值查詢的時間複雜度為o(n)
2、插入:o(n)
3、刪除:o(n)
4、遍歷:o(n)
鍊錶:查詢,插入,刪除,遍歷
1、查詢:o(n)
對鍊錶中的元素一次進行比較,平均效能是o(n)
2、插入:o(n)
鍊錶的插入相當於貼上,先貼上上去,再拆鍊錶。
s—>data = x;//將x的值儲存在s中,鍊錶是用來儲存資料的,方便以後對鍊錶值的操作
s—>next = p—>next;//先貼上新節點到立案表上,再拆鍊錶,不然鍊錶就斷了
p—>next = s;//s本身就是位址,p節點的next找到s,完成鍊錶的插入操作
3、刪除:時間花在遍歷鍊錶上
o(n):
1、從頭開始遍歷鍊錶,找到第i-1個節點
2、將第i-1節點next指向第i個節點的next
第一步,先將刪除節點的值取出
先拆再粘,最後全部拆掉
int x = q—>data;
p—>next = q—>next;
4、遍歷:o(n)
鍊錶的優缺點:
優點:1、插入、刪除不需要移動其他元素,只需要改變指標
2、鍊錶各個節點在記憶體中不要求連續,空間利用率高
缺點:查詢需要遍歷操作,時間利用率太低
線性表演算法
1.在乙個遞增的順序表中插入乙個元素,並保持有序.分析 判斷順序表是否滿,滿了則追加空間.從表中的最後乙個元素開始,尋找插入位置,找到則插入,表長增一 int listinsert sq sqlist l,int ele for k l length 1 k 0 l slist k e k l sl...
線性表演算法題庫 線性表習題
鍊錶。若指標p指向某結點時,能夠根據該指標找到其直接後繼,能夠順後繼指標鏈找到p結點後的結點。但是由於不知道其頭指標,所以無法訪問到p指標指向的結點的直接前趨。因此無法刪去該結點。2.雙鏈表。由於這樣的鍊錶提供雙向指標,根據p結點的前趨指標和後繼指標可以查詢到其直接前趨和直接後繼,從而可以刪除該結點...
資料結構與演算法學習筆記 線性表(1)
2.1線性表的定義和基本操作 線性表是一種典型的線性結構。線性表 linear list 是由n n 0 個資料元素 結點 a1,a2,an組成的有限序列。所有節點具有相同的資料型別。資料元素的個數n稱為線性表的長度。若線性表中的結點是按值由小到大 或大到小 排列的,稱線性表是有序的。線性表是一種相...