順序存儲結構
順序存儲中,相鄰數據元素的存放地址也相鄰,內存中存儲單元的地址必須是連續的,存儲密度 = 1。
優點:
-
不用為表示節點間的邏輯關系而增加額外的存儲開銷。
-
具有按元素序號隨機訪問的特點。
缺點:
-
在做插入/刪除操作時,平均每次移動表中的一半元素,因此表中數據量越大效率越低。
-
需要預先分配足夠大的存儲空間。過大可能會導致存儲空間閑置,過小會造成溢出。
使用:
- 線性表的長度變化不大,且其主要操作是查找。
鏈式存儲結構
鏈式存儲中,邏輯上相鄰的數據元素,物理存儲位置不一定相鄰,使用指針實現元素之間的邏輯關系。鏈表的存儲空間是動態分配的,存儲密度 < 1。
優點:
-
插入/刪除方便(只需要修改指針)。
缺點:
-
要占用額外的存儲空間存儲元素之間的關系,存儲密度低。
-
不是隨機存儲結構,不能隨機存取元素,只能順序存取。
使用:
- 線性表的長度變化較大,且其主要操作是插入/刪除。
ps:存儲密度是指一個節點中數據元素所占的存儲單元和整個節點所占的存儲單元之比