本章講解了最基本的資料結構——線性表。從邏輯上講,線性表中的資料是依次排列的,就像小學生排隊過馬路一樣,彼此手拉手,每份資料的前面和後面各有乙份資料,從整體上看連成了「一條線」。
本章內容:
1. 線性表的概念:1分鐘了解什麼是線性表
2. 順序表(線性表的順序儲存結構)及c語言實現
3. 鍊錶(單鏈表)的基本操作及c語言實現
4. 靜態鍊錶及c語言實現
5. 迴圈鍊錶(約瑟夫環)的建立及c語言實現
6. 雙向鍊錶(雙向迴圈鍊錶)的建立及c語言實現
7. 資料結構實踐專案之俄羅斯輪盤賭小遊戲
線性表是資料結構中最簡單的資料儲存結構,可以理解為「線性的表」。
線性,是說資料在邏輯結構上具有線性關係。將具有線性關係的資料儲存到計算機中所使用的儲存結構稱為線性表。
線性關係指的是資料乙個挨著乙個,總體呈線性分布。就好比「老鷹捉小雞」遊戲中,小雞們全都手拉著手,它們之間的關係就可以稱為線性關係。
換句話說,線性表中的資料在邏輯結構上相互挨著(手牽手),中間沒有空隙。每個資料元素,在它的前面可以找到唯一乙個資料和它挨著,後面也只有乙個資料和它挨著。這樣,資料在邏輯結構呈線性分布,稱這樣的儲存結構為線性表。
線性表只對資料的邏輯結構有要求,根據實際儲存的物理結構的不同(分散儲存或者集中儲存),線性表還可以進行更詳細的分類,本節最後會詳細介紹。圖1 前趨和後繼元素
用線性表儲存的資料有兩個特點:
相對位置,指的是各資料元素在邏輯結構上的前後次序。之前講過,邏輯結構上相鄰的資料在實際的物理儲存中有兩種形式:分散儲存和集中儲存。考慮到這兩種情況,線性表分為兩種,分別解決兩種情況下資料的儲存問題:
資料結構線性表的概念
線性表的儲存方式有順序儲存和鏈式儲存,順序訪問的線性表稱之為順序表,採用隨機訪問,時間複雜度為o 1 鏈式儲存的線性表成為單鏈表 採用非隨機訪問 即順序訪問 時間複雜度為o n 隨機訪問 順序訪問 隨機儲存和順序儲存 隨機訪問 順序訪問 隨機儲存和順序儲存這四個概念是完全不一樣的。隨機訪問並就是隨機...
資料結構 線性表3
每天要學習的太多,今天花大量時間敲完靜態鍊錶的 發現後面還有迴圈鍊錶,雙向鍊錶,這樣學習效率太低。所以後面不打算把偽碼重新實現一遍,只記錄學習的要點等。通過物理的線性結構實現邏輯的鏈式儲存,下標由0開始,及s 0 為第乙個資料。typedef struct component,staticlinkl...
資料結構3 線性表
設計演算法,將兩個安置遞增有序的單鏈表合併成乙個安置遞增有序的單鏈表。void listmerge linklist la,linklist lb,linklist lc else if la lc next la if lb lc next lb 設l為一帶有頭結點的迴圈單鏈表,鍊錶中儲存一組無序...