演算法學習之線性表

2021-08-21 22:35:18 字數 758 閱讀 9805

線性表定義:零個或多個資料元素的有限序列 (包含順序表和煉表)

順序表:查詢,插入,刪除,遍歷

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稱為線性表的長度。若線性表中的結點是按值由小到大 或大到小 排列的,稱線性表是有序的。線性表是一種相...