最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

14.6普利姆算法

2022-02-05 00:09 作者:取悅疾風(fēng)  | 我要投稿

內(nèi)容來(lái)自:尚硅谷Java數(shù)據(jù)結(jié)構(gòu)與java算法(Java數(shù)據(jù)結(jié)構(gòu)與算法)_嗶哩嗶哩_bilibili

寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會(huì)偶爾插入自己的注釋和理解,盡量會(huì)完成作業(yè)

14.6普利姆算法

14.6.1應(yīng)用場(chǎng)景-修路問(wèn)題

看一個(gè)應(yīng)用場(chǎng)景和問(wèn)題

有勝利鄉(xiāng)有7個(gè)村莊(A,B,C,D,E,F,G),現(xiàn)在需要修路把7個(gè)村莊連通各個(gè)村莊的距離用邊線表示(權(quán)),比如A-B距離5公里

問(wèn):如何修路保證各個(gè)村莊都能連通,并且總的修建公路總里程最短?

思路:將10條邊,連接即可,但是總的里程數(shù)不是最小

正確的思路,就是盡可能的選擇少的路線,并且每條路線最小,保證總里程數(shù)最少.

?

14.6.2最小生成樹(shù)

修路問(wèn)題本質(zhì)就是最小生成樹(shù)問(wèn)題,先介紹一下最小生成樹(shù)(Minimum Cost Spanning Tree),簡(jiǎn)稱MST.

1)????? 給定一個(gè)帶權(quán)的無(wú)向連通圖,如何選取一棵生成樹(shù),使樹(shù)上所有邊上權(quán)的總和為最小,這叫最小生成樹(shù)

2)????? N個(gè)頂點(diǎn),一定有N-1條邊

3)????? 包含全部頂點(diǎn)

4)????? N-1條邊都在圖中

5)????? 舉例說(shuō)明(如圖:)

6)????? 求最小生成樹(shù)的算法主要是普里姆算法和克魯斯卡爾算法

14.6.3普利姆算法的介紹

前排提示:這段話不要看,看不懂的

普利姆(Prim)算法求最小生成樹(shù),也就是在包含n個(gè)頂點(diǎn)的連通圖中,找出只有(n-1)條邊包含所有n個(gè)頂點(diǎn)的連通子圖,也就是所謂的極小連通子圖

普利姆的算法如下:

1)????? 設(shè)G=(V,E)是連通網(wǎng),T=(U,D)是最小生成樹(shù),V,U是頂點(diǎn)集合,E,D是邊的集合

2)????? 若從頂點(diǎn)u開(kāi)始構(gòu)造最小生成樹(shù),則從集合V中取出頂點(diǎn)u放入集合U中,標(biāo)記頂點(diǎn)v的visited[u]=1

3)????? 若集合U中頂點(diǎn)ui與集合V-U中的頂點(diǎn)vj之間存在邊,則尋找這些邊中權(quán)值最小的邊,但不能構(gòu)成回路,將頂點(diǎn)vj加入集合U中,將邊(ui,vj)加入集合D中,標(biāo)記visited[vj]=1

4)????? 重復(fù)步驟②,直到U與V相等,即所有頂點(diǎn)都被標(biāo)記為訪問(wèn)過(guò),此時(shí)D中有n-1條邊

5)????? 提示:單獨(dú)看步驟很難理解,我們通過(guò)代碼來(lái)講解,比較好理解.

圖解

//看這個(gè)圖解配合和視頻,有點(diǎn)反向貪心算法的感覺(jué)

14.6.4普里姆算法最佳實(shí)踐(修路問(wèn)題)

1)????? 有勝利鄉(xiāng)有7個(gè)村莊(A,B,C, D,E, F,G),現(xiàn)在需要修路把7個(gè)村莊連通

2)????? 各個(gè)村莊的距離用邊線表示(權(quán)),比如A-B距離5公里

3)????? 問(wèn):如何修路保證各個(gè)村莊都能連通,并且總的修建公路總里程最短?

4)????? 看老師思路分析+代碼演示:

學(xué)就完事了,加油!奧里給!

14.6普利姆算法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
阳朔县| 监利县| 武义县| 文山县| 林周县| 河南省| 伊吾县| 奉新县| 桐庐县| 南皮县| 托克托县| 弋阳县| 穆棱市| 前郭尔| 苏尼特右旗| 静安区| 湖州市| 阜新市| 鄂州市| 静乐县| 高淳县| 青铜峡市| 锡林浩特市| 龙游县| 垦利县| 图们市| 枝江市| 六枝特区| 泽库县| 遂川县| 山阳县| 信宜市| 乐陵市| 东辽县| 新疆| 普安县| 马尔康县| 汶川县| 连城县| 南漳县| 子长县|