版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/qq_15037231/article/details/51901513
(一)順序存儲結構和鏈式存儲結構的優缺點比較,以及使用情況。
1 優缺點
① 順序存儲時,相鄰數據元素的存放地址也相鄰(邏輯與物理統一);要求內存中可用存儲單元的地址必須是連續的。
優點:存儲密度大(=1),存儲空間利用率高。缺點:插入或刪除元素時不方便。
②鏈式存儲時,相鄰數據元素可隨意存放,但所占存儲空間分兩部分,一部分存放結點值,另一部分存放表示結點間關系的指針
優點:插入或刪除元素時很方便,使用靈活。缺點:存儲密度小(<1),存儲空間利用率低。
2 使用情況
順序表適宜於做查找這樣的靜態操作;鏈表宜於做插入、刪除這樣的動態操作。
若線性表的長度變化不大,且其主要操作是查找,則采用順序表;
若線性表的長度變化較大,且其主要操作是插入、刪除操作,則采用鏈表。
3 比較
順序表與鏈表的比較
基於空間的比較
存儲分配的方式
順序表的存儲空間是靜態分配的
鏈表的存儲空間是動態分配的
存儲密度 = 結點數據本身所占的存儲量/結點結構所占的存儲總量
順序表的存儲密度 = 1
鏈表的存儲密度 < 1
基於時間的比較
存取方式
順序表可以隨機存取,也可以順序存取
鏈表是順序存取的
插入/刪除時移動元素個數
順序表平均需要移動近一半元素
鏈表不需要移動元素,只需要修改指針
————————————————
版權聲明:本文為CSDN博主「斜陽雨陌」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_15037231/article/details/51901513