考研資料結構筆記 線性表概述

2021-09-26 05:07:59 字數 1333 閱讀 5328

1.1 線性表的定義

線性表是具有相同特性的資料元素的乙個有限序列。該序列中所含元素的個數叫做線性表的長度。

1.2 線性表的邏輯特性

只有乙個表頭元素,只有乙個表尾元素,表頭元素沒有前驅,表尾元素沒有後繼,除表頭和表尾元素元素之外,其他元素只有乙個直接前驅,也只有乙個直接後繼。

1.3 線性表的儲存結構

線性表的儲存結構有順序儲存結構鏈式儲存結構,前者稱為順序表,後者稱為鍊錶

順序表就是把線性表中的所有元素按照其邏輯順序,依次儲存到從指定儲存位置開始的一塊連續的存空間

在鍊錶儲存中每個結點不僅包含所存元素的資訊,還包含元素之間邏輯關係的資訊。

順序表的特性:隨機訪問、占用連續儲存空間。

鍊錶的特性:不支援隨機訪問,結點的儲存空間利用率比順序表低,支援儲存空間的動態分配。

順序表做插入操作的時候需移動多個元素,而在鍊錶中進行插入操作無需移動元素。

鍊錶的五種形式:

雙鏈表:在單鏈表的基礎上新增了乙個指標域指向當前結點的前驅。

迴圈單鏈表:將單鏈表的最後乙個指標域指向鍊錶中的第乙個結點。

迴圈雙鏈表:將雙鏈表的終結點的next指標指向鍊錶中的第乙個結點,將鍊錶中第乙個結點的prior指標指向終結點

靜態鍊錶:借助一位陣列來表示。

2.1 線性表的結構體定義

#define maxsize 100

//順序表的結構體定義

typedef structsqlist; //順序表型別的定義

//或者直接簡單定義如下:

int a[maxsize];

int n;

//單鏈表結點定義

typedef struct lnodelnode; //定義單鏈表結點型別

//雙鏈表結點定義

typedef struct dlnodedlnode; //定義雙鏈表結點型別

注意:

​ 在定義鍊錶結點時為typedef struct lnode {} lnode前面的lnode不要忘掉

資料結構考研筆記 線性表

1.線性表的定義 線性表是具有相同特性元素的乙個有限序列。所含元素個數 線性表長度。2.線性表的邏輯特性 只有乙個表頭元素,乙個表尾元素,表頭元素沒有前驅,表尾元素沒有後繼,其他元素只有乙個直接前驅,乙個直接後繼。3.線性表的儲存結構 1 順序儲存結構 順序表 隨機訪問特性 需占用連續的儲存空間 做...

考研系列之資料結構 線性表概述

1.腦圖 2.表示方法 按照資料結構概述所說,線性表有兩種表示方法分別是順序表示和鏈式表示,鍊錶就是鏈式表示的典型。我們知道鏈式表示是分配了n塊記憶體空間,可以認為彼此不連續,所以不能用偏移量去定位每個元素。下面就先說最簡單的 單向鍊錶 如果每個資料元素能有乙個指標指向下乙個元素的話,那麼只需要知道...

考研資料結構 線性表

線性表是具有相同特徵資料元素的乙個有限序列。元素個數叫做線性表的長度,n n 0 表示,n 0 空表 只有乙個表頭元素,只有乙個表尾元素。表頭無前驅,表尾無後繼,除表頭和表尾外,其他元素只有乙個直接前驅,也只有乙個直接後繼。順序儲存結構 順序表 和鏈式儲存結構 鍊錶 兩種。順序表 連續儲存 順序儲存...