資料結構與演算法 順序表

2021-09-09 07:32:01 字數 331 閱讀 9082

python中的list和tuple兩種型別採用了順序表的實現技術,具有前面討論的順序表的所有性質。

tuple是不可變型別,即不變的順序表,因此不支援改變其內部狀態的任何操作,而其他方面,則與list的性質類似。

python標準型別list就是一種元素個數可變的線性表,可以加入和刪除元素,並在各種操作中維持已有元素的順序(即保序),而且還具有以下行為特徵:

補充:python中的list其實就是我們其他程式語言的陣列,他的特點是順序儲存,能根據陣列下標直接訪問陣列裡的某個元素,所以訪問速度很快,時間複雜度是o(1),但是其插入和刪除需要進行資料搬移,所以比較耗時插入和刪除的時間複雜度是o(n)。

資料結構與演算法(2)順序表

在之前的順序表中,我們使用陣列來儲存資料元素,但是這樣的結構有很大的隱患。在一些情況下,我們無法事先確定資料元素的規模。如果資料元素很少的話,陣列很多空間是浪費的,如果資料元素比較大的話,陣列可能會出現溢位的危險,這比單純的浪費空間要嚴重的多。c語言是不支援動態陣列的,但是我們可以通過指標實現這乙個...

資料結構與演算法之順序表

include include define maxsize 100 typedef char elemtype typedef struct list sqlist void createlist sqlist l,elemtype a,int n 建立順序表 void initlist sqli...

Python資料結構與演算法(二) 順序表

lo n 1 c 用於儲存不同型別的資料,資料型別所佔位元組大小不統一 順序表中存的是位址 儲存順序表的資訊,容量,元素個數 需要先定義好順序表的大小 三個元素,前兩個做表頭 最後乙個作為位址指向資料 保留原有表頭位址不變 擴充固定多個數目 倍增的方式 用空間換時間 表尾插入 o 1 保序元素插入 ...