一、基本概念
線性表是零個或多個數據元素的有限序列。數學表達如下圖所示:
二、詳細分析
1、順序存儲結構
線性表的順序存儲結構,指的是用一段地址連續的存儲單元依次存儲線性表的數據元素。
插入數據示意圖
從最後一個元素開始向前遍歷到第i個位置,分別將它們都向後移動一個位置,將插入的數據元素放到位置i處。
刪除數據示意圖
取出刪除元素,從刪除元素位置開始遍歷到最後一個元素位置,分別將它們都向前移動一個位置。
順序存儲的優點
- 無須爲表示表中元素之間的邏輯關係而增加額外的存儲空間
- 可以快速地存取表中任一位置的元素
順序存儲的缺點
- 插入和刪除操作需要移動大量元素
- 當線性表長度變化比較大時,難以確定存儲空間的容量
- 造成存儲空間的“碎片”
2、鏈式存儲結構
線性表的鏈式存儲結構
插入元素示意圖
刪除元素示意圖
三、分析總結
若線性表需要頻繁查找,很少進行插入和刪除操作時,宜採用順序存儲結構。若需要頻繁插入和刪除時,宜採用單鏈表結構。當線性表中的元素個數變化較大或者根本不知道多大時,最好用單鏈表結構,這樣可以不需要考慮存儲空間的大小問題。而如果事先知道線性表的大致長度,比如一年112個月,這種用順序存儲結構效率會高很多。