python-數據結構-DAY2

1.數據在內存中存儲的兩種基本方式
方式一------順序表的基本佈局
1)首先明確我們的邏輯地址(如同排序的序號,從0到N)
2)對應的空間會有存放的元素,這部分元素爲順序元素
3)這時候對應內存的物理地址,起始位置+字節數*邏輯地址(通常一個int是4個字節)
方式二----------元素外置的順序表
1)我們直接將元素所在內存的物理地址獲知,將物理地址作爲一個存儲單元的內容
2)對上述的存儲單元在分配物理地址
3)這樣我們就先找元素物理地址所在的地址,通過這個地址,找到元素的物理地址,在訪問元素

2.順序表的基本實現方式和區別
兩種方式

區別:一般情況話,元素存儲區的最開頭會包含表頭(用於描述存儲數據特徵),一體式的表頭和數據是連續的,有相同的邏輯地址和物理地址,這時候如果我們要加入一個數據,這個數據的加入改變了存儲的結構,我們就需要從新向內存申請地址,從新編輯物理地址,因爲一體式的結構要求連續,所以表頭的物理地址也會隨之改變。但是分離式就不需要改變表頭的物理地址,只需在改變數據存儲結構後,將表頭的內容,從原始的地址,指向新的地址即可,不用改變表頭的地址。

3.擴充方式
線性擴充,節省空間,但是擴充頻繁,浪費時間
加倍擴充,節省時間,但有可能浪費空間

4.元素的增加
在這裏插入圖片描述
5.元素的刪除
時間複雜度同上

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