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

2021-10-02 14:29:52 字數 540 閱讀 2813

lo + (n - 1)* c

用於儲存不同型別的資料,資料型別所佔位元組大小不統一

順序表中存的是位址

儲存順序表的資訊,容量,元素個數

需要先定義好順序表的大小

三個元素,前兩個做表頭

最後乙個作為位址指向資料

保留原有表頭位址不變

擴充固定多個數目

倍增的方式:

用空間換時間

表尾插入

o(1)

保序元素插入

o(n)

非保序的元素插入:

與要插入的位置元素置換

o(1)

刪除隊尾

o(1)

保序刪除

o(n)

非保序:

隊尾元素換到刪除元素位置

o(1)

list、tuple都是用順序表實現的

分離式儲存

元素外接儲存

動態順序表

初始化:8個元素儲存區

倍增方式:

4倍50000閥值時一倍一倍增加

資料結構與演算法 緒論 (二)python

1.python程式的計算複雜性 2.問題和複雜性 3.計算和資料表示 用計算機解決問題,可以認為是實現某種資訊表示形式的轉換.1 資料data 電腦程式能夠處理的符號形式的綜合,資料是編碼的資訊。2 資料元素data element 資料的基本單位 3 資料結構data structures 一組...

資料結構與演算法二

資料結構作為一門學科主要研究資料的各種邏輯結構和儲存結構,以及對資料的各種操作。因此,主要有三個方面的內容 資料的邏輯結構 資料的物理儲存結構 對資料的操作 或演算法 通常,演算法的設計取決於資料的邏輯結構,演算法的實現取決於資料的物理儲存結構。邏輯結構 是指資料物件中資料元素之間的相互關係。其實這...

資料結構與演算法(二)

函式的漸近增長 給定兩個函式 f n 和 g n 如果存在乙個整數n,使得對於所有的n n,f n 總是比g n 大,那麼我們說f n 的增長漸近快於g n 如圖 演算法時間複雜度的定義 在進行時間演算法分析時,語句總的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t ...