免責聲明:
在塔什庫爾干塔吉克等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站建設(shè)公司,塔什庫爾干塔吉克網(wǎng)站建設(shè)費用合理。
- 筆記來源:本系列所有筆記均整理自 B站·王道考研·數(shù)據(jù)結(jié)構(gòu) 視頻教程。
- 參考書籍:《2021年數(shù)據(jù)結(jié)構(gòu)考研復(fù)習(xí)指導(dǎo)》,王道論壇所著,電子工業(yè)出版社出版,ISBN :9787121379819。
目錄
1 圖的概念圖G,由頂點集V和邊集E組成,記作G(V,E)
頂點就好比火車站,邊就好比火車站間的鐵路。
有向圖與無向圖
簡單圖與多重圖
圖的邏輯結(jié)構(gòu)應(yīng)用
頂點的度
頂點與釘釘之間的關(guān)系
連通圖與強連通圖
子圖
無向圖的連通分量
有向圖的強連通分量
連通圖的生成樹
邊的權(quán)值與帶權(quán)圖
完全圖
頂點為 n 的無向完全圖,邊數(shù)為 n * (n-1) / 2
頂點為 n 的有向完全圖,邊數(shù)為 n * (n-1)
2 圖的存儲結(jié)構(gòu) 2.1 領(lǐng)接矩陣樹與有向樹
領(lǐng)接矩陣:使用一個一維數(shù)組存儲頂點信息,使用一個二維數(shù)組存儲邊的信息(頂點間的鄰接關(guān)系),這個二維數(shù)組稱為鄰接矩陣。
#define MAX_V_NUM 100
typedef char V; // 頂點的數(shù)據(jù)類型
typedef int E; // 邊上權(quán)值的數(shù)據(jù)類型
// 鄰接矩陣結(jié)構(gòu)
struct MGraph{V vertex[MAX_V_NUM]; // 頂點
E edge[MAX_V_NUM][MAX_V_NUM]; // 鄰接矩陣,邊表
int v_num; // 圖的當前定點數(shù)
int arc_num; // 圖的當前邊數(shù)/弧數(shù)
};
當鄰接矩陣中的元素只表示對應(yīng)的邊是否存在時,可以將其定義為0表示邊不存在,1表示邊存在。
無向圖的鄰接矩陣是一個對稱矩陣,對于規(guī)模較大的對稱矩陣可以采用壓縮存儲。
頂點數(shù)為n的圖,鄰接矩陣表示法的空間復(fù)雜度為O(n^2)
2.2 鄰接表鄰接表:對每個頂點建立一個單鏈表,單鏈表中存儲依附于這個頂點的邊,結(jié)合順序存儲和鏈式存儲。
#define MAX_V_NUM 100
typedef char V; // 頂點數(shù)據(jù)類型
// 邊表結(jié)點
struct ArcNode{int adjvex; // 這條弧所指向的頂點位置
ArcNode* next; // 指向下一條弧的指針
};
// 頂點表結(jié)點
struct VNode {V data; // 頂點信息
ArcNode* first; // 指向依附于該頂點的第一條弧的指針
};
// 鄰接表
typedef VNode AdjList[MAX_V_NUM] ;
struct ALGraph{AdjList vertices; // 鄰接表
int vexnum; // 頂點數(shù)
int arcnum; // 弧數(shù)
};
鄰接表中:
|V| + 2*|E|
,|V|
為頂點數(shù),|E|
為邊數(shù),因為一條邊的信息會存儲兩次|V| + |E|
,|V|
為頂點數(shù),|E|
為邊數(shù)圖的基本操作獨立于圖的存儲結(jié)構(gòu),不同的存儲結(jié)構(gòu),同一操作算法的不同實現(xiàn)會有不同的性能。下面針對鄰接矩陣和鄰接表兩種存儲結(jié)構(gòu)進行分析:
判斷圖中是否存在邊(x,y)或者弧
求圖中與頂點x鄰接的邊
圖的遍歷是指,從圖的某一個頂點出發(fā),按某種搜索方式,沿著圖中的邊對其他頂點訪問一次(僅僅訪問一次)。為避免同一頂點被訪問多次,在遍歷的過程中,需記下每個已經(jīng)訪問過的頂點,可以使用一個數(shù)組來存儲這些已經(jīng)訪問過的頂點。
圖的遍歷算法主要有兩種:廣度優(yōu)先和深度優(yōu)先。
4.1 廣度優(yōu)先遍歷 算法思想廣度優(yōu)先搜索(Breadth-First-Search,BFS)。類似于二叉樹的層序遍歷。
算法思想:找到與一個頂點相鄰的所有頂點,標記哪些頂點被訪問過,借助一個輔助數(shù)組,為了實現(xiàn)逐層訪問,還需要借助一個輔助隊列,用來存儲正在訪問的頂點的下一層頂點。
算法實現(xiàn)深度優(yōu)先(Depth-First-Search,DFS),類似于樹的先序遍歷。
基本思想:從一個頂點v1開始,訪問與其鄰接且未被訪問的任意頂點w1,再訪問與w1鄰接且未被訪問的任意頂點,重復(fù)直到不能繼續(xù)向下訪問時,依次退回到最近被訪問的頂點,若其還有未被訪問過的頂點,以同樣的搜索方式繼續(xù),直到所有的頂點都被訪問過為止。
算法實現(xiàn)你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站欄目:第六章圖-創(chuàng)新互聯(lián)
鏈接URL:http://jinyejixie.com/article30/dphppo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、營銷型網(wǎng)站建設(shè)、云服務(wù)器、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容