考研複試 資料結構第六章

2021-10-14 09:43:40 字數 1011 閱讀 5097

1、圖的一些相關定義

2、圖的儲存結構

(1)鄰接矩陣法:

所謂鄰接矩陣儲存,是指用乙個一維陣列儲存圖中頂點的資訊,用乙個二維陣列儲存圖中邊的資訊,儲存頂點之間的鄰接關係的二維陣列稱為鄰接矩陣。(適合稠密圖)

(2)鄰接表法:

當乙個圖為稀疏矩陣時,使用鄰接矩陣法顯然要浪費大量的儲存空間,而圖的鄰接表法結合了順序儲存和鏈式儲存方法,大大減少了這種不必要的浪費。

(3)十字鍊錶法:

十字鍊錶法是有向圖的一種鏈式儲存結構。在十字鍊錶中,對應於有向圖中的每條弧有乙個結點,對應於每個頂點也有乙個結點。

(4)鄰接多重表:

鄰接多重表是無向圖的另一種鏈式儲存結構。

在鄰接表中,容易求得頂點和邊的各種資訊,但在鄰接表中求兩個頂點之間是否存在邊而對邊執行刪除等操作時,需要分別在兩個頂點的邊表中遍歷,效率較低。與十字鍊錶類似,在鄰接多重表中,每條邊用乙個結點表示,每個頂點也用乙個結點表示。

3、圖的遍歷

**普利姆演算法:**用來求最小生成樹。從乙個連通圖中從某一頂點出發,選擇與它關聯的最小權值的邊,將其頂點加入到頂點集s中,此後就從乙個頂點在s集中,另乙個頂點不在s集中的左右頂點中選擇出權值最小的邊,把對應頂點加入到s集中,直到所有的頂點都加入到s集中為止。

**克魯斯卡爾演算法:**用來求最小生成樹,其基本思想為:設有乙個有n個頂點的連通網中,選出權值最小的邊且該邊的兩個端點不在乙個連通分支中,則把該邊加入到樹中,否則就再從新選擇一條權值最小的邊,直到所有的頂點都在乙個連通分支中為止。

**迪傑斯特拉演算法:**迪傑斯特拉演算法是經典的單源最短路徑演算法,用於求某一頂點到其他頂點的最短路徑,它的特點是以起始點為中心層層向外擴充套件,直到擴充套件的終點為止,迪傑斯特拉演算法要求邊的權值不能為負權。

**弗洛伊德演算法:**弗洛伊德演算法是經典的求任一頂點之間的最短路徑,其邊的權值可為負權,該演算法的時間複雜度為o(n3),空間複雜度為o(n2)。

5、關鍵路徑

第六章 資料結構

存放同一種資料型別的多個元素的容器,通過索引 記憶體偏移量 進行元素的訪問,陣列的大小一旦確定就不能改變。陣列其實也是線性表結構,在記憶體中陣列的元素是緊挨著連續儲存的。特點 查詢快 增刪慢 舉例 定義乙個陣列 int arr new int 想在2的後面插入乙個新的元素11,這時候就需要定義乙個新...

資料結構第六章樹

第六章 樹 1.樹是n個結點的有限集。n 0時稱為空樹。在任意乙個非空樹中 1 有且僅有乙個特定的稱為根的結點 2 當n 1時,其餘節點可分為m個互不相交的有限集,其中每乙個集合又是一棵樹,並成為根的子樹。2.結點分類 結點擁有的子樹稱為結點的度。度為0的結點稱為葉結點或終端節點 度不為0的結點稱為...

資料結構筆記 第六章

一.圖的儲存結構及實現 圖可以使用兩種儲存結構,分別是鄰接矩陣和鄰接表。鄰接矩陣以矩陣的形式儲存圖所有頂點間的關係。鄰接矩陣具有以下特點 1,鄰接矩陣是正矩陣,即橫縱維數相等。2,矩陣的每一行或一列代表乙個頂點,行與列的交點對應這兩個頂點的邊。3,矩陣的點代表邊的屬性,1代表有邊,0代表無邊,所以矩...