九九百科網

位置:首頁 > 數碼 > 數碼極客

順序表和鏈表的區別

順序表和鏈表的區別

演示機型:華為MateBook X系統版本:win10

1、存儲分配方式不同:順序存儲結構是用一段連續的存儲單元依次存儲線性表的數據元素,單項鍊表是採用鏈式存儲結構,用一組任意的存儲單元存放線性表的元素。

2、空間利用率不同:順序表的空間利用率顯然要比鏈表高。因鏈表在存儲數據時,每次只申請一個節點的空間,且空間的位置是隨機的,這種申請存儲空間的方式會產生很多空間碎片,一定程序上造成了空間浪費。不僅如此,由於鏈表中每個數據元素都必須攜帶至少一個指針,因此鏈表對所申請空間的利用率也沒有順序表高。

3、開闢空間的方式不同:順序表存儲數據實行的是 “一次開闢,永久使用”,即存儲數據之前先開闢好足夠的存儲空間,空間一旦開闢後期無法改變大小(使用動態數組的情況除外)。而鏈表則不同,鏈表存儲數據時一次只開闢存儲一個節點的物理空間,如果後期需要還可以再申請。因此,若只從開闢空間方式的角度去考慮,當存儲數據的個數無法提前確定,又或是物理空間使用緊張以致無法一次性申請到足夠大小的空間時,使用鏈表更有助於問題的解決。

標籤:鏈表