資料結構與演算法系列2 線性表

2022-01-10 14:28:59 字數 1521 閱讀 4874

**

線性表是具有n個相同型別元素的有序序列,線性表是最基本、最簡單、也是最常用的一種資料結構。線性表(linear list)是資料結構的一種,乙個線性表是n個具有相同特性的資料元素的有限序列。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的(注意,這句話只適用大部分線性表,而不是全部。比如,迴圈鍊錶邏輯層次上也是一種線性表(儲存層次上屬於鏈式儲存,但是把最後乙個資料元素的尾指標指向了首位結點)。

線性結構

常見的線性表有:陣列,鍊錶,棧,佇列,雜湊表

a1是首節點

an是尾節點

a1是a2的前驅

a2是a1的後繼

前驅後繼與直接前驅直接後繼的區別

如用(a1,…,ai-1,ai,ai+1,…,an)表示乙個順序表,則表中ai-1領先於ai,ai領先於ai+1,稱ai-1是ai的直接前驅元素,ai+1是ai的直接後繼元素。當i=1,2,…,n-1時,ai有且僅有乙個直接後繼,當i=2,3,…,n時,ai有且僅有乙個直接前驅 [1] 。

如果資料元素本身包含的資料項非常多,就可以稱這個資料元素為乙個「記錄」,多條記錄組成乙個「檔案」。

儲存的資料本身的型別一定保持相同,是int型就都是int型,是結構體就都是一種結構體。

資料一旦用線性表儲存,各個資料元素之間的相對位置就固定了。

相對位置,指的是各資料元素在邏輯結構上的前後次序。

之前講過,邏輯結構上相鄰的資料在實際的物理儲存中有兩種形式:分散儲存和集中儲存。

考慮到這兩種情況,線性表分為兩種,分別解決兩種情況下資料的儲存問題:

資料元素在記憶體中集中儲存,採用順序表示結構,簡稱「順序儲存」;

資料元素在記憶體中分散儲存,採用鏈式表示結構,簡稱「鏈式儲存」。

上面這些都是有相同特徵的「有序列」

資料結構與演算法導論2 線性表

define maxsize 20 typedef int elemtype typedef struct sqlist 總結下,順序儲存結構封裝需要三個屬性 儲存空間的起始位置,陣列data,它的儲存位置就是線性表儲存空間的儲存位置。線性表的最大儲存容量 陣列的長度maxsize。線性表的當前長度...

資料結構 線性表 2

package com.wjy.data structure.linearlist.common public inte ce nodepackage com.wjy.data structure.linearlist.common 單鏈表結點定義 public class slnode imple...

資料結構2 線性表

什麼是線性表 邏輯上具有線性結構的儲存結構 線性表的特點 線性表中每個元素型別相同 線性表分類 根據物理結構,分為順序儲存和鏈式儲存 順序儲存 順序表 順序表的特點 快速隨機訪問,查詢和修改效率高,增刪效率低 順序表的實現 1 定義順序表頭,2 順序表初始化,3 實現順序表的操作 順序表的操作 增加...