線性表兩種儲存結構的不同特點及其使用場合

2021-10-06 03:03:28 字數 661 閱讀 2685

線性表的兩種儲存結構

1.順序結構

(1)結點中只有自身的資訊域,沒有關聯資訊域。因此,順序儲存結構的儲存密度大度、儲存空間利用率高。

(2)通過計算位址直接訪問任何資料元素,即可以隨機訪問。 (3)插入和刪除操作會引起大量元素的移動。

2.鏈式結構

(1)結點除自身的資訊域外,還有表示關聯資訊的指標域。因此,鏈式儲存結構的儲存密度小、儲存空間利用率低。

(2)在邏輯上相鄰的結點在物理上不必相鄰,因此,不可以隨機訪問,只能順序訪問。

(3)插入和刪除操作方便靈活,不必移動結點只需修改結點中的指標域即可。

使用場合的選擇

1、基於儲存空間

順序表的儲存空間是靜態分配的,在程式執行之前必須明確規定它的儲存規模。鍊錶不用事先估計儲存規模,但鍊錶的儲存密度較低。順序儲存結構的儲存密度是1,而鏈式儲存結構的儲存密度小於1。

2、基於運算

在順序表中按序號訪問的時間複雜度為o(1),而鍊錶中按序號訪問的時間複雜度為o(n)。

3、基於環境

順序表容易實現,在任何高階語言中都有陣列型別,鍊錶的操作是基於指標的,相對來講順序表簡單些。

總之,兩種儲存結構各有優勢,選擇哪一種結構依據實際問題而定。一般來講,較穩定的線性表選擇順序儲存,而頻繁的做插入、刪除操作的動態性較強的線性表選擇鏈式儲存更為合適。

線性表的兩種實現

最近新學了資料結構的線性表,這裡先簡單的介紹一下。線性表是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的 注意,這句話只適用大部分線性表,而不是全部。比如,迴圈鍊錶邏輯層次上也是一種線性表 儲存層次上...

線性表及儲存結構

線性表的邏輯定義 1 線性表,linear list是最簡單和最常用的一種資料結構。2 線性表是由n個資料元素 結點 a1,a2,an組成的有限序列。模擬數學中的數列概念。其中我們規定陣列元素的個數n為該線性表的長度,size。當n為零時,稱為空表。3 非空的線性表通常記為 a1,a2,a3,an ...

線性表的兩種儲存方式 順序儲存和鏈式儲存

線性表是一種儲存方式,可以想象是很多個車廂連起來的火車。每個車廂有兩個區域,乙個存放資料乙個鏈結下一節車廂。線性表的一些基本操作。初始化,增加元素,刪除元素,查詢元素,輸出表中元素。鏈式儲存 例如鍊錶一樣通過指標把不同區域的資料聯絡起來形成順序儲存。include include typedef s...