玩轉(zhuǎn)數(shù)據(jù)結(jié)構(gòu)之線性表

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ù)組
  • 動態(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ù)為止。
    • 代表:鏈表

4. 后續(xù)

如果大家喜歡這篇文章,歡迎點贊!
如果想看更多 數(shù)據(jù)結(jié)構(gòu) 方面的文章,歡迎關(guān)注!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容