資料結構與演算法 線性表

2022-09-23 15:42:13 字數 996 閱讀 9358

線性表

1、線性表定義:線性表是n個元素的有限序列,通常 記為(a1,a2,...,an)。

特點:①存在唯一的表頭和表尾。

②除了表頭外,表中的每乙個元素均只有唯一的直接前驅。

③除了表尾外,表中的每乙個元素均只有唯一的直接後繼。

2.線性表的儲存結構

(1)順序儲存

是用一組位址連續的儲存單元依次儲存線性表中的資料元素,從而使得邏輯關係相鄰的兩個元素在物理位置上也是相鄰。

優點:可以隨機訪問表中的元素

缺點:插入和刪除操作需要移動大量的元素

其中l1是順序表首位址,l是表中每個元素所佔空間的大小

(2)鏈式儲存

鏈式儲存是指用結點來儲存資料元素,結點的空間可以是連續的,也可以是不連續的,因此儲存資料元素的同時必須儲存元                       素之間的邏輯關係。

結點空間只有在需要的時候才申請,無須事先分配。

優點:插入和刪除操作不需要移動元素。操作方便。

缺點:增加了儲存空間開銷,不能隨機訪問任一結點。

其他幾種鍊錶結構

(1)雙向鍊錶:每個結點包含兩個指標,指明直接前驅和直接後繼元素,可在兩個方向上遍歷鍊錶。

(2)迴圈鍊錶:表尾結點的指標指向表中的第乙個結點,可以在任何位置上開始遍歷整個鍊錶。

(3)靜態鍊錶:借助陣列來描述線性表的鏈式儲存結構

3.線性表的插入和刪除運算

(1)基於順序儲存結構的運算

插入元素前要移動元素以挪出空的儲存單元,然後再插入元素;

刪除元素時同樣需要移動元素,以填充被刪除出來的儲存單元。

(2)基於鏈式儲存結構的運算

在鏈式儲存結構下進行插入和刪除,其實本質是對相關指標的修改。

資料結構與演算法 線性表

概念 一種資料結構,每個結點最多只有乙個前驅結點和乙個後繼結點 類別 順序表 定長 鍊錶 變長 棧 棧頂刪除 彈棧 棧頂插入 壓棧 後進先出 lifo 佇列 隊頭刪除 出隊 隊尾插入 入隊 先進先出 fifo 線性表的抽象資料型別定義 c 1.template2.class list 棧的抽象資料型...

資料結構與演算法 線性表

n維向量 x1,x2,xn 是乙個長度為n的線性表 英文小寫字母表 a,b,c,z 是乙個長度為26的線性表 一年中的四個季節 春,夏,秋,冬 是乙個長度為4的線性表 矩陣是乙個比較複雜的線性表 學生情況登記表是乙個複雜的線性表 由若干資料項組成的資料元素稱為記錄 由多個記錄構成的線性表又稱為檔案 ...

資料結構與演算法 線性表

1.線性表 1.1 線性表的定義和基本運算 定義 線性表是具有相同資料型別的n個資料元素的有限序列。除表頭元素外,每個元素有且僅有乙個直接前驅 除表尾元素外,每個元素有且僅有乙個直接後繼。特點 個數有限 具有邏輯上的順序性 資料元素型別都相同。基本操作 初始化 求表長 按值查詢 按位查詢 插入 刪除...