版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四節(jié)圖的生成樹和最小生成樹
一、圖的生成樹
1、生成樹的概念
對(duì)于具有n個(gè)頂點(diǎn)的連通圖,包含了該圖的全部n個(gè)頂點(diǎn),僅包含
它的n-1條邊的一個(gè)極小連通子圖被稱為生成樹。
一個(gè)圖的生成樹為一個(gè)無(wú)回路的連通圖。也就是說(shuō),若在圖中任意
添加一條邊,就會(huì)出現(xiàn)回路;若在圖中去掉任何一條邊,都會(huì)使之成
為非連通圖。
一個(gè)連通圖的生成樹不一定是唯一的。
【例】下圖中圖(b)和(c)是圖(a)的生成樹。
由深度優(yōu)先搜索所得的生成樹稱為深度優(yōu)先生成樹,簡(jiǎn)稱為DFS生
成樹;而由廣度優(yōu)先搜索所得的生成樹稱之為廣度優(yōu)先生成樹,簡(jiǎn)稱
為BFS生成樹。
【例】下圖中圖(b)是圖(a)從V0開始的深度優(yōu)先搜索所得的
生成樹,圖(c)是圖(a)從V0開始的廣度優(yōu)先搜索的生成樹。
從V。開始的深度優(yōu)先搜索序列:Vo,V1,V2,V5,V4,V6,V3,
V7,V8o
從Vo開始的廣度優(yōu)先搜索序列:Vo,V1zV3,V4,V2,V6,V8,
二、最小生成樹
1、最小生成樹的概念
對(duì)于連通的帶權(quán)圖(網(wǎng))G,其生成樹也是帶權(quán)的。把生成樹各邊的權(quán)
值總和稱為該樹的權(quán),把權(quán)值最小的生成樹稱為圖的最小生成樹
(MininumSpanningTree,MST)O
【例】圖(b)、(c)、(d)是圖(a)的三棵生成樹。
(b)
2、普里姆(Prim)算法
(1)算法思想
用自然語(yǔ)言描述的Prim算法:設(shè)G=(V,GE)為具有n個(gè)頂點(diǎn)
的帶權(quán)連通圖,T=(U,TE)為G的一個(gè)子圖,初始時(shí),有丁£二空,
算法描述為:從中選擇一個(gè)頂點(diǎn)僅在
U={Vi},ViGVoPrimGV
中,而另一個(gè)頂點(diǎn)在U中,并且權(quán)值最小的邊加入集合TE中,同時(shí)
將該邊僅在V中的那個(gè)頂點(diǎn)加入集合U中。重復(fù)上述過(guò)程n-1次,直
到U=V,止匕時(shí)T為G的最小生成樹。
【例】試用Prim算法構(gòu)造(a)圖的最小生成樹,要求分步給出
構(gòu)造過(guò)程
【分析】算法一開始取u={l},然后到V-U中找一條代價(jià)最小且依
附于頂點(diǎn)1的邊,(u。,vo)=(l,3),將vo=3加入集合U中,修改
輔助數(shù)組中的值。使minedge[3].lowcost=0,以表示頂點(diǎn)3已并入
U,由于邊(3,6)上的權(quán)值是一條最小且依附于頂點(diǎn)集U中頂點(diǎn)的
邊,因此修改minedge⑹的值,依此類推,直到U=V,其過(guò)程如表
所示。
23456Uv-u說(shuō)明
ver①①①
{1}[2,3,4,5,6)u(l,3)邊最短
lowcost605
ver③①③③
0{1,3}{2,4,5,6}u(3,6)邊最短
lowcost5560
Ver③⑥③
00{1,3,6}[2,4,5)u(6,4)也最短
lowcost5目6
ver③③
000{1.3,6,4}{215}u(3,2)邊最短
lowcost同6
ver②
0000{1,3,6,4,2}{5}U(2.5)邊最短
lowcost
ver
00000{1,3,6,4,2,5}力
lowcost
(2)算法描述
附設(shè)一個(gè)輔助數(shù)組minedge[vtxptr],記錄從U到V-U具有最小
代價(jià)的邊。對(duì)每個(gè)頂點(diǎn)vwV-U,在輔助數(shù)組中存在一個(gè)分量
minedge[v],它包括兩個(gè)域,其中l(wèi)owcost存儲(chǔ)該邊上的權(quán)值,ver
域存儲(chǔ)該邊的依附在U中的頂點(diǎn)。Minedge[v]=min{cost(u,v),u
GU},(cost(u,v)表示該邊的權(quán))。
【算法描述】
typedefintVRType;
typedefstruct
{ertexTypeVer;
VRTypelowcost;
}minedge[MaxVertexNum];〃從頂點(diǎn)集u至!]V-U
的代價(jià)最小的邊的輔助數(shù)組
voidPrim(MGraphG,VertexTypeu,intn)
{〃采用鄰接矩陣存儲(chǔ)結(jié)構(gòu)表示圖
intk,v,j;
k=vtxNum(G,u);/儆頂點(diǎn)u在輔
助數(shù)組中的下標(biāo)
for(v=o;v<n;v++)〃輔助數(shù)組初始化
if(v!=k)
{minedge[v].ver=u;
minedge[v].lowcost=G.arcs[k][v];
)
minedge[k].lowcost=0,〃初始,U={u}
forQ=l;j<n;j++)〃選擇其余的n-1
個(gè)頂點(diǎn)
{k=min(minedge(j]);
//l<j<n-l,找一個(gè)滿
足條件的最小邊(u,k),ueu,keV-u
printf(minedge[k].ver,G.vexs[k]);
〃輸出生成樹的邊
minedge[k].lowcost=0;〃第k個(gè)頂點(diǎn)并
入u
for(v=0;v<n;v++)
if(G.arcs[k][v]<minedge[v].lowcost)
〃重新選擇最小邊
{minedge[v].ver=G.vexs[k];
mindege[v].lowcost=G.arcs[k][v];
)
)
)
普里姆算法的時(shí)間復(fù)雜度是0(n2)
【例】試用Prim算法構(gòu)造下圖的最小生成樹,畫出所有可能的情
況。
圖附1-15
隱藏答案
【解析】根據(jù)Prim算法構(gòu)造,本題的最小生成樹有的圖有兩種。
【答案】最小生成樹有的圖有兩種,如圖所示
3、克魯斯卡爾(Krtskal)算法
(1)算法思想
假設(shè)G=(V,E)是一個(gè)具有n個(gè)頂點(diǎn)的連通網(wǎng),T=(U,TE)是
G的最小生成樹,U的初值等于V,即包含有G中的全部頂點(diǎn)。T的
初始狀態(tài)是只含有n個(gè)頂點(diǎn)而無(wú)邊的森林T=(V,(p)o
該算法的基本思想是:將圖G中的邊按權(quán)值從小到大的順序依次選
取E中的邊(u,v),若選取的邊使生成樹T不形成回路,則把它并入
TE中,保留作為T的一條邊;若選取的邊使生成樹T形成回路,則將
其舍棄,如此進(jìn)行下去直到TE中包含n-1條邊為止,此時(shí)的T即為
最小生成樹。
【例】試用克魯斯卡爾(Krtskal)算法構(gòu)造(a)圖的最小生成
當(dāng)前講授
(2)算法描述
Kruskal(G)
(〃求連通網(wǎng)G的一棵MST
T=(v,ip);〃初始化T為只含有n個(gè)頂
點(diǎn)而無(wú)邊的森林
按權(quán)值升序?qū)吋疎中的邊進(jìn)行排序,結(jié)果存入E[O...e-l]中
for(i=0;i<e;i++)//e為圖G
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年長(zhǎng)春市市直事業(yè)單位公開招聘高層次人才15人備考題庫(kù)附答案詳解
- 公共交通乘客服務(wù)管理制度
- 2026年武漢經(jīng)濟(jì)技術(shù)開發(fā)區(qū)官士墩中學(xué)頂崗代課教師招聘?jìng)淇碱}庫(kù)附答案詳解
- 北京中醫(yī)藥大學(xué)東方醫(yī)院2026年護(hù)理應(yīng)屆畢業(yè)生招聘?jìng)淇碱}庫(kù)及答案詳解1套
- 企業(yè)知識(shí)產(chǎn)權(quán)管理制度
- 2026年蘇州健雄職業(yè)技術(shù)學(xué)院公開招聘編外合同制培訓(xùn)師備考題庫(kù)及答案詳解參考
- 中國(guó)鐵道出版社有限公司2026年招聘高校畢業(yè)生備考題庫(kù)(6人)及參考答案詳解
- 2026年武義縣應(yīng)急管理局招聘?jìng)淇碱}庫(kù)帶答案詳解
- 企業(yè)員工培訓(xùn)與技能發(fā)展路徑制度
- 企業(yè)內(nèi)部會(huì)議紀(jì)要及跟進(jìn)制度
- 上海市徐匯區(qū)2026屆初三一模物理試題(含答案)
- 2026年遼寧機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)附答案解析
- 春節(jié)前安全教育培訓(xùn)課件
- 工業(yè)AI《2025年》機(jī)器視覺(jué)應(yīng)用測(cè)試題
- new共青團(tuán)中央所屬單位2026年度高校畢業(yè)生公開招聘66人備考題庫(kù)及完整答案詳解
- 江蘇省蘇州市2024-2025學(xué)年高三上學(xué)期期末學(xué)業(yè)質(zhì)量陽(yáng)光指標(biāo)調(diào)研物理試題(含答案)
- 頸托的使用課件
- 跨境電商物流解決方案方案模板
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)船舶智能化市場(chǎng)深度分析及投資戰(zhàn)略咨詢報(bào)告
- 鋼結(jié)構(gòu)廠房拆除施工方案設(shè)計(jì)
- 煤礦安全規(guī)程機(jī)電部分課件
評(píng)論
0/150
提交評(píng)論