第二章主要說的是線性表,那麼什麼是線性表呢?
線性表是一種線性結構,在頭結點無直接前驅有乙個直接後繼,尾節點無直接後繼有乙個直接前驅。
1.線性表的順序儲存結構
簡單的說就是把線性表的結點按照它的邏輯結構順序,依次的存放到計算機記憶體中一組連續的儲存單元中。用順序儲存來實現的線性表為順序表。這裡要注意,如果是儲存,則是指按順序的,如果是訪問,則是可以隨機的,可以利用元素下標進行。
線性表的基本運算在順序表上的實現
(1)插入:插入新的結點,之後的結點後移,平均時間複雜度為o(n)
(2)刪除:刪除結點,之後的結點前移,平均複雜度為o(n)
(3)定位:查詢出線性表等於某個結點序號的最小值,當找不到這個結點時,返回結果0
2.線性表的鏈結儲存
(1)單鏈表:每個結點的儲存位址是存放在其直接前驅結點next域中,而開始結點無直接前驅,故應設頭指標head指向開始結點。同時,由於最後乙個結點無直接後繼,故結點的指標域為空,即null。
(2)迴圈列表:是一種頭尾相接的鍊錶。其特點是無須增加儲存量,僅對錶的鏈結方式稍作改變,即可使得表處理更加方便靈活。在單鏈表中,將終端結點的指標域null改為指向表頭結點的或開始結點,就得到了單鏈形式的迴圈鍊錶,
(3)雙向迴圈列表:在單鏈表的每個節點中再設定乙個指向其直接前驅結點的指標域prior,這樣每個結點有兩個指標。prior與next型別相同,它指向直接前驅結點。都結點的prior指向最後乙個結點,最後乙個結點next指向頭結點。簡單來說,設指標x指向某一結點,那麼:x→prior→next=x=x→next→prior
第二章 資料結構 二
知識點 trie樹 並查集,堆的操作 高效地儲存和查詢字串集合的資料結構 const int n 100010 int son n 26 cnt n idx 插入 void insert char str cnt p 以這個點結尾的字元數 查詢 intquery char str return cn...
資料結構 第二章總結
線性表是由n 0 個資料元素組成的有限序列。我們學習了線性表上定義的基本運算 有構造空表 initlist l 求表長 listlength l 取結點 getnode l i 查詢 locatenode l x 插入 insertlist l x,i 刪除 delete l i 還學習了順序表 單...
資料結構第二章總結
線性表簡稱表,是n個具有相同型別的資料元素的有限序列。線性表中資料元素的個數稱為線性表的長度。長度為零時稱為空表。線性表中資料元素的型別是同一的。線性表的順序儲存結構稱為順序表。儲存結構是資料及其邏輯結構在計算機中的表示 訪問結構是在乙個資料結構上對查詢操作的時間效能的一種描述。順序表的類的宣告 c...