順序存儲結(jié)構(gòu):
優(yōu)點:
a.不用為表中元素的邏輯關(guān)系去增加多余的存儲空間,
b.能夠快速存取任意位置的元素
缺點:
a.插入和刪除操作需要大量移動元素仅颇,效率不高
b.線性表長度有較大變化是時碘举,它的存儲空間容量會難以確定忘瓦。
c.順序存儲結(jié)構(gòu)在申請空間時會大塊的申請引颈,容易造成碎片,碎片空間會被浪費凌停。
順序存儲結(jié)構(gòu)與單鏈表結(jié)構(gòu)的優(yōu)缺點對比
1售滤、時間性能上
1)查找
順序存儲結(jié)構(gòu)O(1)
單鏈表O(n)
2)插入和刪除
順序存儲結(jié)構(gòu)需要平均移動表長的一半,時間為O(n)
單鏈表在計算出某個位置的指針以后完箩,插入和刪除的時間為O(1)。
2弊知、空間性能
順序存儲結(jié)構(gòu)要先分配存儲空間,容易造成內(nèi)存空間不足或者浪費
單鏈表存儲結(jié)構(gòu)不需要分配存儲空間叔扼。
簡單總結(jié)漫雷,但是還是需要實際情況實際分析。
若線性表需要頻繁進(jìn)行查找珊拼,很少進(jìn)行插入和刪除,就適合順序存儲結(jié)構(gòu)
如果情況相反澎现,就比較適合單鏈表存儲結(jié)構(gòu)。
如果線性表中元素個數(shù)變化較大或者和根本不知道大小的話干旧,就可以用單鏈表結(jié)構(gòu)妹蔽,
如果實現(xiàn)就知道線性表的大致長度挠将,可以選擇順序存儲結(jié)構(gòu)。