資料結構筆記 線性表(上)

2021-08-16 03:00:33 字數 1411 閱讀 4465

線性表:零個或多個資料元素的有限序列。

線性表,從名字上可以感覺到,是具有像線一樣的性質的表

官方定義:線性表(list):零個或多個資料元素的有限序列

注意;

其結構如下圖:

在較複雜的線性表中,乙個元素可以由若干個資料項組成。

1、順序儲存定義

線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。

這裡強調兩點:

位址連續

與線性表順序一致

如圖:

2、順序儲存方式

通俗地講,線性表的順序儲存結構,就是在記憶體中找塊地兒,通過佔位的形式,把一定的記憶體空間給佔了,然後把相同資料型別的資料元素依次存放在這塊空地。

可以用乙個一維陣列來實現順序儲存結構,即把第乙個資料元素存到陣列下標為0的位置,接著把線性表相鄰的元素儲存在陣列中相鄰的位置。

我們發現描述儲存結構三個重要的屬性:

3、陣列長度與線性表長度區別

所以:線性表長度≤陣列長度

4、位址計算方法

線性表的第i各元素儲存在陣列下標為i-1的位置,如下圖:

這個圖也體現了陣列長度和線性表長度的關係。用陣列儲存順序表意味著要分配固定長度的陣列空間,由於線性表中可以進行插入和刪除操作,因此分配的陣列長度空間應該大於等於當前線性表的長度。

儲存器中的每個儲存單元都有自己的編號,這個編號叫做位址。

1、獲得元素操作

對於線性表的順序儲存結構來說,我們要實現getelem操作,即將線性表l中的第i個元素值返回,直接將陣列第i-1下標的的值返回即可。

如果已知第乙個元素的位址,和每個元素所佔記憶體大小,即可算出第i個元素的記憶體位址,時間複雜度為o(1)。

2、插入操作

插入演算法思路:

3、刪除操作

刪除演算法思路:

4、操作整理

總的來說,線性表的順序儲存結構:讀取快,增刪慢

5、優缺點

優點

缺點

資料結構線性表 上

鍊錶 鍊錶是一種有序的列表,鍊錶的內容通常是存貯於記憶體中分散的位置上。而鍊錶串聯的方式有兩種 0 1 2 3 4 5 6 7 8 9 isdata this aarray 6 8 1 39 不過這種鍊錶最大的缺點在於放入或刪除元素,常常要大量的移動其他元素,而且陣列的大小是固定的,缺乏使用彈性。2...

資料結構筆記 線性表

思考 怎麼程式設計解決多項式相加問題?1.線性表概念 由同型別資料元素構成的有序序列的線性結構 1.表中元素個數稱為線性表的長度 2.線性表中沒有元素時稱為空表 3.表的起始位置稱為表頭,結束位置稱為表尾。2.線性表的adt描述 3.線性表的順序儲存實現 未測試 include using name...

資料結構筆記 線性表

資料元素的資料型別。struct seqlist seqlist sl create int maxlen void sl free seqlist slist 釋放 刪除 順序表。與sqlst create 配對。void sl makeempty seqlist slist 置為空表。intsl...