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

2021-06-22 06:39:56 字數 1434 閱讀 2702

1.腦圖

2.表示方法

按照資料結構概述所說,線性表有兩種表示方法分別是順序表示和鏈式表示,

鍊錶就是鏈式表示的典型。

我們知道鏈式表示是分配了n塊記憶體空間,可以認為彼此不連續,所以不能用偏移量去定位每個元素。

下面就先說最簡單的

單向鍊錶

:如果每個資料元素能有乙個指標指向下乙個元素的話,那麼只需要知道第乙個資料元素就能乙個乙個的遍歷整個鍊錶了,這就是單向鍊錶。

對於每個鍊錶元素我們稱之為

節點

,每個節點都有兩個域:

資料域&

指標域資料域

就是資料元素所在的區域,

指標域則是儲存指向另乙個節點的指標的區域。

對於單向鍊錶,它的指標域有乙個指標指向下乙個節點的記憶體位址。

需要注意的是:

頭節點

指向表中第乙個節點,它本身的資料域不帶資料,所以判斷鍊錶null的方法是判斷頭結點的指標是否為空。

最後乙個節點的指標應指向null。

對於單向鍊錶,它有乙個問題。那就是當你獲取鍊錶中第n個元素(n>1)時,想獲取它的上乙個指標,需要重新遍歷一遍鍊錶,演算法複雜度o(n)。為了應對這個問題,我們引入了雙向鍊錶。

雙向鍊錶

單向鍊錶每個結點的指標域只有乙個指向下乙個結點的指標,現在在上面加上乙個指向前乙個結點的指標就變成了雙向鍊錶。這樣,要尋找前乙個結點只需要o(1)就可以了。

還有一類形式的鍊錶,就是

迴圈鍊錶

。它在單向鍊錶上做了一點小改動,在單向鍊錶中最後乙個結點的指標是指向null的,可是迴圈鍊錶中最後乙個結點的指標是指向第乙個結點的。

3.棧和佇列

棧棧最大的特徵就是

lifo

(last in first out),也就是後入先出。最後入棧的元素最先出棧。

佇列佇列最大的特徵和棧相反,是

fifo(first in first out),也就是先入先出。最先入隊的元素最先出隊。

4.字串

字串是一類特別的線性表,它的所有元素都是單個字元,針對字串,最重要的就是尋找子串也就是

字串匹配演算法了,後面會涉及。

5.陣列

學過c/c++的人都會無比熟悉,也不廢話了。高階是二維陣列也就是矩陣,這個會有一些要點。

6.廣義表

廣義表就是線性表的擴充套件,我們知道線性表所有的元素都是同類的,但是廣義表可以使得每個元素都是不同型別。

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

1.1 線性表的定義 線性表是具有相同特性的資料元素的乙個有限序列。該序列中所含元素的個數叫做線性表的長度。1.2 線性表的邏輯特性 只有乙個表頭元素,只有乙個表尾元素,表頭元素沒有前驅,表尾元素沒有後繼,除表頭和表尾元素元素之外,其他元素只有乙個直接前驅,也只有乙個直接後繼。1.3 線性表的儲存結...

考研資料結構 線性表

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

資料結構考研 線性表之順序表

整理一下王道資料結構上有關線性表之順序表的知識和題目吧!順序表的特點是表中的邏輯順序與其物理順序相同 線性表中元素位序是從1開始的,而陣列中元素的下標是從0開始的,所以如果題目說請刪除第i個元素,直接上是刪除 l data i 1 元素 順序表的優點是儲存密度大,不需要存放指標域。以及隨機訪問 也叫...