貪心算法的典型應(yīng)用手冊_第1頁
貪心算法的典型應(yīng)用手冊_第2頁
貪心算法的典型應(yīng)用手冊_第3頁
貪心算法的典型應(yīng)用手冊_第4頁
貪心算法的典型應(yīng)用手冊_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

貪心算法的典型應(yīng)用手冊一、貪心算法概述

貪心算法是一種在每一步選擇中都采取在當(dāng)前狀態(tài)下最好或最優(yōu)的選擇,從而希望導(dǎo)致結(jié)果是最好或最優(yōu)的算法。它適用于解決組合優(yōu)化、區(qū)間調(diào)度、資源分配等問題。

(一)貪心算法的基本思想

1.最優(yōu)選擇:在每一步選擇中,選取當(dāng)前狀態(tài)下最優(yōu)的選項。

2.局部最優(yōu):通過局部最優(yōu)的選擇,逐步構(gòu)建全局最優(yōu)解。

3.不可逆性:一旦做出選擇,就不會再更改。

(二)貪心算法的特點

1.高效性:通常具有較低的時間復(fù)雜度。

2.簡單性:實現(xiàn)邏輯清晰,易于理解。

3.非最優(yōu)解:在某些問題中可能無法得到全局最優(yōu)解。

二、貪心算法的典型應(yīng)用

(一)背包問題

背包問題分為0/1背包和分數(shù)背包兩種。貪心算法主要適用于分數(shù)背包問題。

1.分數(shù)背包問題:

-可以將物品分割成任意比例。

-按照物品的單位價值(價值/重量)從高到低排序。

-按順序選擇物品,直到背包容量滿。

2.步驟:

(1)計算每個物品的單位價值。

(2)按單位價值降序排列物品。

(3)依次選擇物品,直到背包容量達到上限。

(二)活動選擇問題

活動選擇問題是在給定一系列活動時,選擇盡可能多的不沖突活動。

1.問題定義:

-每個活動有開始時間和結(jié)束時間。

-選擇的活動不能時間重疊。

2.步驟:

(1)按照活動結(jié)束時間升序排序。

(2)選擇第一個活動。

(3)從后續(xù)活動中選擇開始時間晚于前一個活動結(jié)束時間的活動。

(三)哈夫曼編碼

哈夫曼編碼是一種用于數(shù)據(jù)壓縮的貪心算法。

1.基本原理:

-根據(jù)字符出現(xiàn)頻率構(gòu)建最優(yōu)二叉樹。

-頻率高的字符分配較短的編碼,頻率低的分配較長的編碼。

2.步驟:

(1)統(tǒng)計字符頻率,按頻率升序排列。

(2)每次選擇兩個最小頻率的節(jié)點合并為一個新的節(jié)點,更新頻率列表。

(3)重復(fù)步驟(2),直到只剩一個節(jié)點。

(4)根據(jù)合并過程生成編碼。

(四)最小生成樹問題

最小生成樹問題是在無向連通圖中選擇邊權(quán)最小的樹,覆蓋所有頂點。

1.克魯斯卡爾算法:

-按邊權(quán)升序排序所有邊。

-依次選擇邊,確保不形成環(huán)。

2.步驟:

(1)初始化一個空集合作為最小生成樹。

(2)按邊權(quán)升序選擇邊。

(3)使用并查集判斷添加邊是否會形成環(huán)。

(4)若不形成環(huán),則添加到最小生成樹中。

三、貪心算法的適用條件

(一)貪心選擇性質(zhì)

-每一步的最優(yōu)選擇能夠?qū)е氯肿顑?yōu)解。

(二)最優(yōu)子結(jié)構(gòu)

-整體最優(yōu)解可以分解為局部最優(yōu)解的組合。

(三)適用場景

1.資源分配問題:如任務(wù)調(diào)度、網(wǎng)絡(luò)流分配。

2.區(qū)間調(diào)度問題:如會議安排、資源使用優(yōu)化。

3.數(shù)據(jù)壓縮問題:如哈夫曼編碼、行程編碼。

四、貪心算法的優(yōu)缺點

(一)優(yōu)點

1.時間效率高:通常具有線性或多項式時間復(fù)雜度。

2.實現(xiàn)簡單:邏輯清晰,代碼易于維護。

(二)缺點

1.非最優(yōu)解:在某些問題中無法保證全局最優(yōu)。

2.適用范圍有限:僅適用于具有貪心選擇性質(zhì)的特定問題。

五、總結(jié)

貪心算法通過每一步的最優(yōu)選擇,高效地解決特定問題。雖然存在局限性,但在資源分配、活動選擇、數(shù)據(jù)壓縮等領(lǐng)域具有廣泛應(yīng)用。在實際應(yīng)用中,需驗證問題是否滿足貪心選擇性質(zhì)和最優(yōu)子結(jié)構(gòu),以確保算法的正確性。

六、貪心算法的詳細應(yīng)用案例解析

本節(jié)將通過具體案例,詳細解析貪心算法在典型問題中的應(yīng)用過程和關(guān)鍵步驟。

(一)分數(shù)背包問題的具體求解案例

假設(shè)有一個容量為50單位的背包,以及以下物品:

|物品編號|重量(單位)|價值(貨幣單位)|單位價值(價值/重量)|

|----------|--------------|------------------|-----------------------|

|A|10|60|6.0|

|B|20|100|5.0|

|C|30|120|4.0|

|D|40|150|3.75|

1.問題分析:

-背包容量為50單位。

-物品可以分割,因此可以使用貪心算法。

-目標(biāo)是最大化背包中物品的總價值。

2.求解步驟:

(1)計算單位價值:

-物品A:60/10=6.0

-物品B:100/20=5.0

-物品C:120/30=4.0

-物品D:150/40=3.75

(2)按單位價值降序排序:

-排序結(jié)果:物品A>物品B>物品C>物品D

(3)依次選擇物品:

-第一步:選擇物品A,重量10單位,價值60,剩余容量40單位。

-第二步:選擇物品B,重量20單位,價值100,剩余容量20單位。

-第三步:剩余容量20單位,可以選擇物品C或D。

-物品C單位價值4.0,重量30單位(超過剩余容量,不可選)。

-物品D單位價值3.75,重量40單位(超過剩余容量,不可選)。

-選擇物品D的一部分,重量20單位,價值75(3.7520),剩余容量0單位。

3.最終結(jié)果:

-選擇物品A(10單位,60價值)、物品B(20單位,100價值)、物品D(20單位,75價值)。

-總價值:60+100+75=235。

-背包已滿,未剩余容量。

(二)活動選擇問題的具體求解案例

假設(shè)有以下活動,每個活動有開始和結(jié)束時間:

|活動編號|開始時間|結(jié)束時間|

|----------|----------|----------|

|1|1|4|

|2|3|5|

|3|0|6|

|4|5|7|

|5|3|9|

1.問題分析:

-目標(biāo)是選擇盡可能多的不沖突活動。

-活動不沖突的定義:開始時間晚于前一個活動結(jié)束時間。

2.求解步驟:

(1)按活動結(jié)束時間升序排序:

-排序結(jié)果:活動1(4)>活動2(5)>活動4(7)>活動5(9)>活動3(6)

(2)選擇活動:

-初始狀態(tài):已選擇活動為空,最后結(jié)束時間=-1。

-第一步:選擇活動1,結(jié)束時間4,不沖突,更新最后結(jié)束時間=4。

-第二步:檢查剩余活動,選擇結(jié)束時間早于或等于4的活動,只有活動2(結(jié)束時間5>4),不選。

-第三步:檢查剩余活動,選擇活動4,結(jié)束時間7>4,不沖突,更新最后結(jié)束時間=7。

-第四步:檢查剩余活動,選擇活動5(結(jié)束時間9>7),不選。

-第五步:檢查活動3,結(jié)束時間6>7,不沖突,選擇活動3。

3.最終結(jié)果:

-選擇的活動:活動1、活動4、活動3。

-這些活動不沖突,覆蓋時間最長。

(三)哈夫曼編碼的具體實現(xiàn)案例

假設(shè)有一段文本,字符及其頻率如下:

|字符|頻率|

|------|------|

|A|5|

|B|9|

|C|12|

|D|13|

|E|16|

|F|45|

1.問題分析:

-目標(biāo)是使用最短編碼表示文本,降低存儲或傳輸成本。

-頻率高的字符使用短編碼,頻率低的字符使用長編碼。

2.求解步驟:

(1)初始化優(yōu)先隊列:按頻率升序排列所有字符。

-隊列:[A(5),B(9),C(12),D(13),E(16),F(45)]

(2)構(gòu)建哈夫曼樹:

-第一步:合并A(5)和B(9),新節(jié)點(14),放入隊列。

-隊列:[C(12),D(13),E(16),F(45),(14)]

-第二步:合并C(12)和(14),新節(jié)點(26),放入隊列。

-隊列:[D(13),E(16),F(45),(26)]

-第三步:合并D(13)和(26),新節(jié)點(39),放入隊列。

-隊列:[E(16),F(45),(39)]

-第四步:合并E(16)和(39),新節(jié)點(55),放入隊列。

-隊列:[(55),F(45)]

-第五步:合并(55)和F(45),新節(jié)點(100),樹構(gòu)建完成。

(3)生成編碼:

-從樹根到葉節(jié)點,左子樹為0,右子樹為1。

-編碼結(jié)果:

-F:0

-E:10

-A:1100

-B:1101

-C:1110

-D:1111

3.最終結(jié)果:

-哈夫曼編碼表:

|字符|頻率|編碼|

|------|------|------|

|F|45|0|

|E|16|10|

|A|5|1100|

|B|9|1101|

|C|12|1110|

|D|13|1111|

-平均編碼長度:總編碼長度/總字符數(shù)。

-總編碼長度:451+162+54+94+124+134=45+32+20+36+48+52=233。

-總字符數(shù):100。

-平均長度:233/100=2.33。

(四)克魯斯卡爾算法求解最小生成樹的具體案例

假設(shè)有以下無向連通圖,邊權(quán)為距離:

```

1--3--2

\/\/

42

/\/\

3--1--4

```

1.問題分析:

-圖中有5個頂點,6條邊。

-目標(biāo)是選擇邊權(quán)最小的邊,覆蓋所有頂點,不形成環(huán)。

2.求解步驟:

(1)初始化:

-邊按權(quán)升序排序:[邊(1,3,3),邊(1,2,4),邊(1,4,2),邊(2,4,2),邊(3,4,1),邊(2,3,1)]。

-最小生成樹初始化為空集合。

(2)依次選擇邊:

-第一步:選擇邊(3,4,1),加入最小生成樹。

-檢查是否形成環(huán):不形成。

-當(dāng)前樹:[(3,4,1)]

-第二步:選擇邊(1,4,2),加入最小生成樹。

-檢查是否形成環(huán):不形成。

-當(dāng)前樹:[(3,4,1),(1,4,2)]

-第三步:選擇邊(2,3,1),加入最小生成樹。

-檢查是否形成環(huán):不形成。

-當(dāng)前樹:[(3,4,1),(1,4,2),(2,3,1)]

-第四步:選擇邊(1,3,3),加入最小生成樹。

-檢查是否形成環(huán):不形成。

-當(dāng)前樹:[(3,4,1),(1,4,2),(2,3,1),(1,3,3)]

-第五步:檢查剩余邊[邊(1,2,4),邊(2,4,2)]:

-加入邊(1,2,4)會形成環(huán)(1-4-2-1),不加入。

-加入邊(2,4,2)會形成環(huán)(2-4-1-2),不加入。

-所有頂點已連接,停止。

3.最終結(jié)果:

-最小生成樹包含邊:邊(3,4,1),邊(1,4,2),邊(2,3,1),邊(1,3,3)。

-總權(quán)值:1+2+1+3=7。

-該樹覆蓋所有頂點,且邊權(quán)最小。

七、貪心算法的實現(xiàn)技巧與注意事項

(一)貪心算法的實現(xiàn)技巧

1.貪心選擇性質(zhì)驗證:

-在應(yīng)用貪心算法前,需證明問題滿足貪心選擇性質(zhì)。

-通過數(shù)學(xué)歸納法或反證法驗證。

2.最優(yōu)子結(jié)構(gòu)驗證:

-需要證明問題的整體最優(yōu)解可以通過局部最優(yōu)解的組合得到。

3.數(shù)據(jù)結(jié)構(gòu)選擇:

-使用優(yōu)先隊列(如堆)高效實現(xiàn)排序和選擇操作。

-并查集可用于檢測環(huán)(如最小生成樹)。

4.編碼優(yōu)化:

-對于哈夫曼編碼等,需預(yù)處理字符頻率統(tǒng)計。

(二)貪心算法的注意事項

1.非最優(yōu)解風(fēng)險:

-貪心算法不保證全局最優(yōu),需驗證問題是否適用。

2.局部最優(yōu)陷阱:

-某些問題中,局部最優(yōu)選擇可能導(dǎo)致全局較差結(jié)果。

3.問題變形處理:

-對于復(fù)雜問題,需分解為多個貪心選擇步驟。

4.動態(tài)調(diào)整策略:

-在某些場景中,需動態(tài)調(diào)整選擇順序或條件。

八、貪心算法與其他算法的比較

(一)貪心算法vs動態(tài)規(guī)劃

1.貪心算法:

-適用于具有貪心選擇性質(zhì)的問題。

-時間復(fù)雜度通常更低。

-實現(xiàn)更簡單。

2.動態(tài)規(guī)劃:

-適用于具有最優(yōu)子結(jié)構(gòu)的問題。

-需要存儲子問題解,空間復(fù)雜度較高。

-適用于問題規(guī)模較小的情況。

(二)貪心算法vs分支限界法

1.貪心算法:

-直接選擇當(dāng)前最優(yōu)解,不探索其他分支。

2.分支限界法:

-探索所有可能的解空間,通過限界函數(shù)剪枝。

-適用于需要全面搜索的情況。

九、總結(jié)

貪心算法通過每一步的最優(yōu)選擇,高效解決特定問題。在分數(shù)背包、活動選擇、哈夫曼編碼、最小生成樹等問題中,貪心算法提供了實用且高效的解決方案。然而,其適用范圍有限,需驗證問題是否滿足貪心選擇性質(zhì)和最優(yōu)子結(jié)構(gòu)。在實際應(yīng)用中,結(jié)合具體問題特性,選擇合適的數(shù)據(jù)結(jié)構(gòu)和優(yōu)化策略,可以進一步提升算法性能和適用性。

一、貪心算法概述

貪心算法是一種在每一步選擇中都采取在當(dāng)前狀態(tài)下最好或最優(yōu)的選擇,從而希望導(dǎo)致結(jié)果是最好或最優(yōu)的算法。它適用于解決組合優(yōu)化、區(qū)間調(diào)度、資源分配等問題。

(一)貪心算法的基本思想

1.最優(yōu)選擇:在每一步選擇中,選取當(dāng)前狀態(tài)下最優(yōu)的選項。

2.局部最優(yōu):通過局部最優(yōu)的選擇,逐步構(gòu)建全局最優(yōu)解。

3.不可逆性:一旦做出選擇,就不會再更改。

(二)貪心算法的特點

1.高效性:通常具有較低的時間復(fù)雜度。

2.簡單性:實現(xiàn)邏輯清晰,易于理解。

3.非最優(yōu)解:在某些問題中可能無法得到全局最優(yōu)解。

二、貪心算法的典型應(yīng)用

(一)背包問題

背包問題分為0/1背包和分數(shù)背包兩種。貪心算法主要適用于分數(shù)背包問題。

1.分數(shù)背包問題:

-可以將物品分割成任意比例。

-按照物品的單位價值(價值/重量)從高到低排序。

-按順序選擇物品,直到背包容量滿。

2.步驟:

(1)計算每個物品的單位價值。

(2)按單位價值降序排列物品。

(3)依次選擇物品,直到背包容量達到上限。

(二)活動選擇問題

活動選擇問題是在給定一系列活動時,選擇盡可能多的不沖突活動。

1.問題定義:

-每個活動有開始時間和結(jié)束時間。

-選擇的活動不能時間重疊。

2.步驟:

(1)按照活動結(jié)束時間升序排序。

(2)選擇第一個活動。

(3)從后續(xù)活動中選擇開始時間晚于前一個活動結(jié)束時間的活動。

(三)哈夫曼編碼

哈夫曼編碼是一種用于數(shù)據(jù)壓縮的貪心算法。

1.基本原理:

-根據(jù)字符出現(xiàn)頻率構(gòu)建最優(yōu)二叉樹。

-頻率高的字符分配較短的編碼,頻率低的分配較長的編碼。

2.步驟:

(1)統(tǒng)計字符頻率,按頻率升序排列。

(2)每次選擇兩個最小頻率的節(jié)點合并為一個新的節(jié)點,更新頻率列表。

(3)重復(fù)步驟(2),直到只剩一個節(jié)點。

(4)根據(jù)合并過程生成編碼。

(四)最小生成樹問題

最小生成樹問題是在無向連通圖中選擇邊權(quán)最小的樹,覆蓋所有頂點。

1.克魯斯卡爾算法:

-按邊權(quán)升序排序所有邊。

-依次選擇邊,確保不形成環(huán)。

2.步驟:

(1)初始化一個空集合作為最小生成樹。

(2)按邊權(quán)升序選擇邊。

(3)使用并查集判斷添加邊是否會形成環(huán)。

(4)若不形成環(huán),則添加到最小生成樹中。

三、貪心算法的適用條件

(一)貪心選擇性質(zhì)

-每一步的最優(yōu)選擇能夠?qū)е氯肿顑?yōu)解。

(二)最優(yōu)子結(jié)構(gòu)

-整體最優(yōu)解可以分解為局部最優(yōu)解的組合。

(三)適用場景

1.資源分配問題:如任務(wù)調(diào)度、網(wǎng)絡(luò)流分配。

2.區(qū)間調(diào)度問題:如會議安排、資源使用優(yōu)化。

3.數(shù)據(jù)壓縮問題:如哈夫曼編碼、行程編碼。

四、貪心算法的優(yōu)缺點

(一)優(yōu)點

1.時間效率高:通常具有線性或多項式時間復(fù)雜度。

2.實現(xiàn)簡單:邏輯清晰,代碼易于維護。

(二)缺點

1.非最優(yōu)解:在某些問題中無法保證全局最優(yōu)。

2.適用范圍有限:僅適用于具有貪心選擇性質(zhì)的特定問題。

五、總結(jié)

貪心算法通過每一步的最優(yōu)選擇,高效地解決特定問題。雖然存在局限性,但在資源分配、活動選擇、數(shù)據(jù)壓縮等領(lǐng)域具有廣泛應(yīng)用。在實際應(yīng)用中,需驗證問題是否滿足貪心選擇性質(zhì)和最優(yōu)子結(jié)構(gòu),以確保算法的正確性。

六、貪心算法的詳細應(yīng)用案例解析

本節(jié)將通過具體案例,詳細解析貪心算法在典型問題中的應(yīng)用過程和關(guān)鍵步驟。

(一)分數(shù)背包問題的具體求解案例

假設(shè)有一個容量為50單位的背包,以及以下物品:

|物品編號|重量(單位)|價值(貨幣單位)|單位價值(價值/重量)|

|----------|--------------|------------------|-----------------------|

|A|10|60|6.0|

|B|20|100|5.0|

|C|30|120|4.0|

|D|40|150|3.75|

1.問題分析:

-背包容量為50單位。

-物品可以分割,因此可以使用貪心算法。

-目標(biāo)是最大化背包中物品的總價值。

2.求解步驟:

(1)計算單位價值:

-物品A:60/10=6.0

-物品B:100/20=5.0

-物品C:120/30=4.0

-物品D:150/40=3.75

(2)按單位價值降序排序:

-排序結(jié)果:物品A>物品B>物品C>物品D

(3)依次選擇物品:

-第一步:選擇物品A,重量10單位,價值60,剩余容量40單位。

-第二步:選擇物品B,重量20單位,價值100,剩余容量20單位。

-第三步:剩余容量20單位,可以選擇物品C或D。

-物品C單位價值4.0,重量30單位(超過剩余容量,不可選)。

-物品D單位價值3.75,重量40單位(超過剩余容量,不可選)。

-選擇物品D的一部分,重量20單位,價值75(3.7520),剩余容量0單位。

3.最終結(jié)果:

-選擇物品A(10單位,60價值)、物品B(20單位,100價值)、物品D(20單位,75價值)。

-總價值:60+100+75=235。

-背包已滿,未剩余容量。

(二)活動選擇問題的具體求解案例

假設(shè)有以下活動,每個活動有開始和結(jié)束時間:

|活動編號|開始時間|結(jié)束時間|

|----------|----------|----------|

|1|1|4|

|2|3|5|

|3|0|6|

|4|5|7|

|5|3|9|

1.問題分析:

-目標(biāo)是選擇盡可能多的不沖突活動。

-活動不沖突的定義:開始時間晚于前一個活動結(jié)束時間。

2.求解步驟:

(1)按活動結(jié)束時間升序排序:

-排序結(jié)果:活動1(4)>活動2(5)>活動4(7)>活動5(9)>活動3(6)

(2)選擇活動:

-初始狀態(tài):已選擇活動為空,最后結(jié)束時間=-1。

-第一步:選擇活動1,結(jié)束時間4,不沖突,更新最后結(jié)束時間=4。

-第二步:檢查剩余活動,選擇結(jié)束時間早于或等于4的活動,只有活動2(結(jié)束時間5>4),不選。

-第三步:檢查剩余活動,選擇活動4,結(jié)束時間7>4,不沖突,更新最后結(jié)束時間=7。

-第四步:檢查剩余活動,選擇活動5(結(jié)束時間9>7),不選。

-第五步:檢查活動3,結(jié)束時間6>7,不沖突,選擇活動3。

3.最終結(jié)果:

-選擇的活動:活動1、活動4、活動3。

-這些活動不沖突,覆蓋時間最長。

(三)哈夫曼編碼的具體實現(xiàn)案例

假設(shè)有一段文本,字符及其頻率如下:

|字符|頻率|

|------|------|

|A|5|

|B|9|

|C|12|

|D|13|

|E|16|

|F|45|

1.問題分析:

-目標(biāo)是使用最短編碼表示文本,降低存儲或傳輸成本。

-頻率高的字符使用短編碼,頻率低的字符使用長編碼。

2.求解步驟:

(1)初始化優(yōu)先隊列:按頻率升序排列所有字符。

-隊列:[A(5),B(9),C(12),D(13),E(16),F(45)]

(2)構(gòu)建哈夫曼樹:

-第一步:合并A(5)和B(9),新節(jié)點(14),放入隊列。

-隊列:[C(12),D(13),E(16),F(45),(14)]

-第二步:合并C(12)和(14),新節(jié)點(26),放入隊列。

-隊列:[D(13),E(16),F(45),(26)]

-第三步:合并D(13)和(26),新節(jié)點(39),放入隊列。

-隊列:[E(16),F(45),(39)]

-第四步:合并E(16)和(39),新節(jié)點(55),放入隊列。

-隊列:[(55),F(45)]

-第五步:合并(55)和F(45),新節(jié)點(100),樹構(gòu)建完成。

(3)生成編碼:

-從樹根到葉節(jié)點,左子樹為0,右子樹為1。

-編碼結(jié)果:

-F:0

-E:10

-A:1100

-B:1101

-C:1110

-D:1111

3.最終結(jié)果:

-哈夫曼編碼表:

|字符|頻率|編碼|

|------|------|------|

|F|45|0|

|E|16|10|

|A|5|1100|

|B|9|1101|

|C|12|1110|

|D|13|1111|

-平均編碼長度:總編碼長度/總字符數(shù)。

-總編碼長度:451+162+54+94+124+134=45+32+20+36+48+52=233。

-總字符數(shù):100。

-平均長度:233/100=2.33。

(四)克魯斯卡爾算法求解最小生成樹的具體案例

假設(shè)有以下無向連通圖,邊權(quán)為距離:

```

1--3--2

\/\/

42

/\/\

3--1--4

```

1.問題分析:

-圖中有5個頂點,6條邊。

-目標(biāo)是選擇邊權(quán)最小的邊,覆蓋所有頂點,不形成環(huán)。

2.求解步驟:

(1)初始化:

-邊按權(quán)升序排序:[邊(1,3,3),邊(1,2,4),邊(1,4,2),邊(2,4,2),邊(3,4,1),邊(2,3,1)]。

-最小生成樹初始化為空集合。

(2)依次選擇邊:

-第一步:選擇邊(3,4,1),加入最小生成樹。

-檢查是否形成環(huán):不形成。

-當(dāng)前樹:[(3,4,1)]

-第二步:選擇邊(1,4,2),加入最小生成樹。

-檢查是否形成環(huán):不形成。

-當(dāng)前樹:[(3,4,1),(1,4,2)]

-第三步:選擇邊(2,3,1),加

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論