0. 序言
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的第一步,讓我們來了解下線性表。
1. 概念
線性表是最基本的數(shù)據(jù)結(jié)構(gòu)。一個線性表是由N個具有相同類型的數(shù)據(jù)元素組成的有限序列。大部分線性表元素之間的關(guān)系是一對一的關(guān)系,即除了第一個和最后一個元素之外,其他元素都是首尾相接的。
2. 特征
- 存在唯一的一個“第一元素”
- 存在唯一的一個“最后元素”
- 除最后一個元素外,均有唯一的后繼
- 除第一個元素外,均有唯一的前驅(qū)
3. 分類
按照內(nèi)存存儲的方式,可以分為兩類:
- 靜態(tài)數(shù)據(jù)結(jié)構(gòu)
在內(nèi)存中的空間分配是連續(xù)的。- 優(yōu)點:
① 設(shè)計時相當(dāng)簡單。
② 讀取和修改列表中的任一元素的時間都是固定的。 - 缺點:
① 刪除或加入數(shù)據(jù)時需要移動大量的數(shù)據(jù)。
② 在編譯期就要把內(nèi)存分配給相關(guān)變量,所以在創(chuàng)建初期,必須事先聲明最大可能的固定存儲空間,這就可能造成內(nèi)存的浪費。 - 代表:數(shù)組
- 優(yōu)點:
- 動態(tài)數(shù)據(jù)結(jié)構(gòu)
在內(nèi)存中的空間分配是不連續(xù)的。- 優(yōu)點:
① 插入和刪除數(shù)據(jù)相當(dāng)方便,不需要移動大量數(shù)據(jù)。
② 內(nèi)存分配發(fā)生在運(yùn)行時期,不需要事先聲明可能占用的最大的內(nèi)存空間,能夠充分節(jié)省內(nèi)存。 - 缺點:
① 設(shè)計時較為麻煩。
② 查找和修改數(shù)據(jù)必須按順序找到數(shù)據(jù)為止。 - 代表:鏈表
- 優(yōu)點:
4. 后續(xù)
如果大家喜歡這篇文章,歡迎點贊!
如果想看更多 數(shù)據(jù)結(jié)構(gòu) 方面的文章,歡迎關(guān)注!