順序表和鏈表的比較


 

通常從空間性能和時間性能兩個方面比較分析:

1.空間性能的比較

線性表長度變化大,難以預估存儲規模,用鏈表

線性表長度變化不大,能事先確定存儲大小,用順序表

a.存儲空間的分配

順序表的存儲空間必須預先分配,元素個數擴充受限,易造成存儲空間浪費或空間溢出現象;

鏈表無需預先分配空間,內存空間允許時,元素個數無限制。

b.存儲密度的大小

不考慮順序表中的空閑區,順序表存儲空間利用率為100%,存儲密度為1;

鏈表存儲空間利用率小於100%,存儲密度小於1,單鏈表存儲密度為0.5。

長度變化不大,且事先確定存儲大小,采用順序表可節約存儲空間。

 

2.時間性能的比較

很少查找,頻繁插入或刪除,用鏈表

頻繁查找,很少插入或刪除,用順序表

a.存取元素的效率

順序表是由數組實現的隨機存取結構,根據位置序號實現取值操作,效率高 時間復雜度O(1);

鏈表是順序存取結構,從表頭開始依次向后遍歷鏈表,取值效率底 時間復雜度O(n)。

b.插入和刪除操作的效率

鏈表插入或刪除無需移動數據,只修改指針,時間復雜度為O(1);

順序表插入或刪除時,平均要移動表中近一半的結點,時間復雜度為O(n)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM