數據結構筆記——順序表

原文地址

  • python中的list就是順序表的結構

  • 一體式結構

    等量大小的數據,可以只指定一個首地址和總長度即可(還有一個默認單位存儲地址),取值則可以通過這上述參數計算而得。

    list1 = [1, 2020, 2008]

  • 元素外置

    地址,用一個順序表存地址(地址碼是等大的)

    list2 = [‘張三’, 2, True]

順序表的兩種基本形式

內存以一個字節爲索引單位

python中已經對順序表進行了封裝,不用自己構造

在其他語言中要實現的話

順序表的兩種基本實現方式

1582679855977

  • 鏈表與順序表都是線性表

  • 順序表的擴展

    擴充方式一:每次擴充一個batch

    擴充方式二:翻倍擴充,較上一種快一點(空間換時間)

  • 順序表的增加

    • 表尾端加入元素

    • 非保序的元素插入

      在指定索引處插入值,將索引處的原值添加的表尾,時間複雜度爲O(1)

    • 保序的元素插入

      在指定索引處插入值,將後續值依次後移。實際中應用較多的一種插入方式

  • 順序表的刪除

    • 刪除表尾元素

    • 非保序的元素刪除

      刪去指定索引處的值,將表尾元素移至索引處

    • 保序的元素刪除

      刪去指定索引處的值,將後續元素依次前移。實際中應用比較多的一種刪除方式

  • python中的list就是通過順序表實現的

  • 允許擴充的順序表——動態順序表

    python中實現動態擴充,初始化分配8個元素的存儲區;如果存滿,採用4倍增的方式擴展空間,當超過50000個元素的時候,採用翻倍增的策略。

  • list中操作的時間複雜度

    1582680911457

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章