-
python中的list就是順序表的結構
-
一體式結構
等量大小的數據,可以只指定一個首地址和總長度即可(還有一個默認單位存儲地址),取值則可以通過這上述參數計算而得。
list1 = [1, 2020, 2008]
-
元素外置
地址,用一個順序表存地址(地址碼是等大的)
list2 = [‘張三’, 2, True]
內存以一個字節爲索引單位
python中已經對順序表進行了封裝,不用自己構造
在其他語言中要實現的話
順序表的兩種基本實現方式
-
鏈表與順序表都是線性表
-
順序表的擴展
擴充方式一:每次擴充一個batch
擴充方式二:翻倍擴充,較上一種快一點(空間換時間)
-
順序表的增加
-
表尾端加入元素
-
非保序的元素插入
在指定索引處插入值,將索引處的原值添加的表尾,時間複雜度爲O(1)
-
保序的元素插入
在指定索引處插入值,將後續值依次後移。實際中應用較多的一種插入方式
-
-
順序表的刪除
-
刪除表尾元素
-
非保序的元素刪除
刪去指定索引處的值,將表尾元素移至索引處
-
保序的元素刪除
刪去指定索引處的值,將後續元素依次前移。實際中應用比較多的一種刪除方式
-
-
python中的list就是通過順序表實現的
-
允許擴充的順序表——動態順序表
python中實現動態擴充,初始化分配8個元素的存儲區;如果存滿,採用4倍增的方式擴展空間,當超過50000個元素的時候,採用翻倍增的策略。
-
list中操作的時間複雜度