![計(jì)算機(jī)算法設(shè)計(jì)與分析:第三章 貪心法_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/f2010c5b-51da-4db5-aae2-c3053524c0f2/f2010c5b-51da-4db5-aae2-c3053524c0f21.gif)
![計(jì)算機(jī)算法設(shè)計(jì)與分析:第三章 貪心法_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/f2010c5b-51da-4db5-aae2-c3053524c0f2/f2010c5b-51da-4db5-aae2-c3053524c0f22.gif)
![計(jì)算機(jī)算法設(shè)計(jì)與分析:第三章 貪心法_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/f2010c5b-51da-4db5-aae2-c3053524c0f2/f2010c5b-51da-4db5-aae2-c3053524c0f23.gif)
![計(jì)算機(jī)算法設(shè)計(jì)與分析:第三章 貪心法_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/f2010c5b-51da-4db5-aae2-c3053524c0f2/f2010c5b-51da-4db5-aae2-c3053524c0f24.gif)
![計(jì)算機(jī)算法設(shè)計(jì)與分析:第三章 貪心法_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/f2010c5b-51da-4db5-aae2-c3053524c0f2/f2010c5b-51da-4db5-aae2-c3053524c0f25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 貪心法 3.1 一般方法(原則) 約束條件:?jiǎn)栴}必須滿足的條件。 可行解:若問題有n個(gè)輸入,而它的解是由這n個(gè)輸入的某個(gè)子集組成,這個(gè)子集滿足事先給出的約束條件,則該子集稱為問題的可行解。 目標(biāo)函數(shù):為了衡量可行解某方面的優(yōu)劣,事先給出了一定的標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)一般以函數(shù)的形式給出,稱為目標(biāo)函數(shù)。 最優(yōu)解:使目標(biāo)函數(shù)取極值的可行解稱為最優(yōu)解。 局部可行解和局部最優(yōu)解。 A(1)A(2)A(n-1)A(n)B1(1)B1(2)B1(m)Bk(1)Bk(2)Bk(m)最優(yōu)解最優(yōu)解B1是該問題的是該問題的一個(gè)可行解一個(gè)可行解B1滿足一定滿足一定的約束條件的約束條件B2(1)B2(2)B2(m)一
2、類問題有一類問題有n個(gè)輸入個(gè)輸入:B1是是A的一個(gè)子集的一個(gè)子集該問題有該問題有k個(gè)可行解個(gè)可行解該可行解可使該可行解可使 目目標(biāo)函數(shù)取極值標(biāo)函數(shù)取極值 輸入局部解可行解最優(yōu)解 局部最優(yōu)解 貪心法方法:首先選取一個(gè)度量標(biāo)準(zhǔn)(測(cè)度函數(shù));按度量標(biāo)準(zhǔn)將n個(gè)輸入排序,并按序一次處理一個(gè)輸入;這個(gè)輸入和當(dāng)前的局部最優(yōu)解加在一起能成為可行解則加入,否則去掉此輸入;重復(fù)的過程直到枚舉完成或不能再加入輸入為止。 面向的問題:應(yīng)用于最優(yōu)解的求解,是某種量度意義下是某種量度意義下的最優(yōu)解的直接分級(jí)處理設(shè)計(jì)技術(shù)。的最優(yōu)解的直接分級(jí)處理設(shè)計(jì)技術(shù)。貪貪心方法的抽象化控制Procedure GREEDY(A,n) so
3、lution for i1 to n do xSELECT(A) if FEASIBLE(solution,x) then solutionUNION(solution,x) endif repeat return (solution)End GREEDY按某種最優(yōu)量度標(biāo)準(zhǔn)從按某種最優(yōu)量度標(biāo)準(zhǔn)從A種選擇種選擇一個(gè)輸入賦給一個(gè)輸入賦給x,并從,并從A中除去中除去判斷判斷x是否可以包含在解向量中是否可以包含在解向量中將將x與解向量合并并修與解向量合并并修改測(cè)量函數(shù)改測(cè)量函數(shù) 3.2 背包問題一、問題描述一、問題描述 已知有已知有n n種物體和一個(gè)可容納種物體和一個(gè)可容納M M重量的背包,每種重量的
4、背包,每種物體物體i i的重量為的重量為w wi i,假定將物品任意可分,若將物體,假定將物品任意可分,若將物體i i的某一部分的某一部分x xi i放入背包就會(huì)得到相應(yīng)的效益放入背包就會(huì)得到相應(yīng)的效益p pi ix xi i(0 x(0 xi1,pi0) i1,pi0) ,采用怎樣的裝包方案會(huì)使裝入背包物,采用怎樣的裝包方案會(huì)使裝入背包物品的總效益為最大?品的總效益為最大? 二、問題的解決 解的表達(dá) (x1,x2,xn) 與概念對(duì)應(yīng)的形式表示: 約束條件 wixi M wi0, 1in 目標(biāo)函數(shù) pixi 0 xi1, pi0 背包問題例背包問題例(x1, x2, x3)wi xipixi(
5、1, 2/15, 0) 2028.2(1, 0, 1/5)2028(0, 2/3, 1)2031(0, 1, 1/2)2031.5找出其中找出其中4個(gè)可行解如:個(gè)可行解如:有有3個(gè)物品個(gè)物品, 即即n=3, 背包能容納的最大重量為背包能容納的最大重量為20, 即即M=20物品的價(jià)值和重量物品的價(jià)值和重量: (p1,p2,p3)=(25,24,15), (w1,w2,w3)=(18,15,10)量度標(biāo)準(zhǔn)選擇例量度標(biāo)準(zhǔn)選擇例 選效益值為量度標(biāo)準(zhǔn)(注意和目標(biāo)函數(shù)的差別)選效益值為量度標(biāo)準(zhǔn)(注意和目標(biāo)函數(shù)的差別)該標(biāo)準(zhǔn)使得背包每裝入一件物品就獲得最大可能的效益值增量該標(biāo)準(zhǔn)使得背包每裝入一件物品就獲得最
6、大可能的效益值增量 可將物品按效益值非增次序排序可將物品按效益值非增次序排序: (p1,p2,p3)=(25,24,15) 按該次序?qū)⑽锲芬患诺奖嘲邪丛摯涡驅(qū)⑽锲芬患诺奖嘲? 先裝物品先裝物品1(效益最大效益最大), 即即x1=1, w1=18; 2,3都不能全放入,衡量后都不能全放入,衡量后2的一部分效益增量最大。的一部分效益增量最大。x2=2/15; 最后得到總效益值為最后得到總效益值為pixi = 25+24*2/15=28.2這是一個(gè)非最優(yōu)解,原因是背包容量消耗過快這是一個(gè)非最優(yōu)解,原因是背包容量消耗過快選容量為量度標(biāo)準(zhǔn)選容量為量度標(biāo)準(zhǔn) 將物品按重量的非降次序排序?qū)⑽锲钒粗?/p>
7、量的非降次序排序: (w3,w2,w1)=(10,15,18)按該次序?qū)⑽锲贩诺奖嘲邪丛摯涡驅(qū)⑽锲贩诺奖嘲?讓容量盡可能慢地被消耗讓容量盡可能慢地被消耗先裝物品先裝物品3, 即即x3=1, w3=10, p3x3 =15; 再裝入物品再裝入物品2, 因約束條件為因約束條件為wi xi M=20, 所以物品所以物品2只能裝只能裝入重量為入重量為10的一部分的一部分, 即即x2=10/15=2/3; 最后得到總效益值為最后得到總效益值為pixi =15+24*2/3=31這仍是一個(gè)非最優(yōu)解這仍是一個(gè)非最優(yōu)解, 原因是容量在慢慢消耗的過程中原因是容量在慢慢消耗的過程中, 效益值效益值卻沒有迅速的
8、增加卻沒有迅速的增加該標(biāo)準(zhǔn)使得背包每裝入一件物品就獲得最小可能的容量增量該標(biāo)準(zhǔn)使得背包每裝入一件物品就獲得最小可能的容量增量將物品按將物品按pi/wi比值的非增次序排序比值的非增次序排序: (p2/w2 , p3/w3 , p1/w1 )=(24/15, 15/10, 25/18)即每一次裝入的物品使它占用的每一單位容量獲得當(dāng)前最大的即每一次裝入的物品使它占用的每一單位容量獲得當(dāng)前最大的單位效益單位效益先裝入物品先裝入物品2, 即即x2=1, w2=15, p3x3 =24;再裝入物品再裝入物品3, 因約束條件為因約束條件為wi xi M=20, 所以物品所以物品3只能裝入只能裝入重量為重量為
9、5的一部分的一部分, 即即x3=5/10=1/2; 最后得到總效益值為最后得到總效益值為pixi =24+15*1/2=31.5選效益值和容量之比為量度標(biāo)準(zhǔn)選效益值和容量之比為量度標(biāo)準(zhǔn)這是一個(gè)最優(yōu)解這是一個(gè)最優(yōu)解, 因?yàn)槊恳粏挝蝗萘康脑黾訉@得最大的單位因?yàn)槊恳粏挝蝗萘康脑黾訉@得最大的單位效益值效益值背包問題的貪心算法背包問題的貪心算法procedure GREEDY-KNAPSACK(P,W,M,X,n)real P(1:n), W(1:n), X(1:n), M, cu; integer i, n;X 0 cu Mfor i 1 to n do if (W(i)cu) then exit
10、 endif X(i) 1 cu cu-W(i)repeatif (in) then X(i) cu/W(i)end GREEDY-KNAPSACK將解向量將解向量X初始化為初始化為0cu為背包的剩余容量為背包的剩余容量放入物品放入物品i 的一部分的一部分先將物品按先將物品按pi/wi比值的非增次序排序比值的非增次序排序(降序降序)若物品若物品i的重量大于背包的重量大于背包的剩余容量的剩余容量,則退出循環(huán)則退出循環(huán)若物品若物品i的重量小于等于背包的剩的重量小于等于背包的剩余容量余容量,則物品則物品i可放入背包內(nèi)可放入背包內(nèi)四、最優(yōu)證明v定理定理3.1: 如果如果p1/w1 p2/w2 pn/w
11、n,則算法,則算法GREEDY-KNAPSACK對(duì)于給定的背包問題實(shí)例生成對(duì)于給定的背包問題實(shí)例生成一個(gè)最優(yōu)解。一個(gè)最優(yōu)解。3.3 有限期的作業(yè)調(diào)度一、問題描述一、問題描述 假定只有一臺(tái)機(jī)器上處理假定只有一臺(tái)機(jī)器上處理n個(gè)作業(yè)個(gè)作業(yè), 每個(gè)作業(yè)均可在單位時(shí)每個(gè)作業(yè)均可在單位時(shí)間內(nèi)完成間內(nèi)完成; 又假定每個(gè)作業(yè)又假定每個(gè)作業(yè)i都有一個(gè)截止期限都有一個(gè)截止期限di0(di是整是整數(shù)數(shù)), 當(dāng)且僅當(dāng)作業(yè)當(dāng)且僅當(dāng)作業(yè)i在它的期限截止之前被完成時(shí)獲得在它的期限截止之前被完成時(shí)獲得pi0的效益。的效益。 該問題的一個(gè)可行解是這該問題的一個(gè)可行解是這n個(gè)作業(yè)的一個(gè)子集合個(gè)作業(yè)的一個(gè)子集合J,J中的每個(gè)中的每
12、個(gè)作業(yè)都能在各自的截止期限之前完成作業(yè)都能在各自的截止期限之前完成,可行解的效益值是可行解的效益值是J中中這些作業(yè)的效益之和這些作業(yè)的效益之和pj ,具有最大效益值的可行解就是最具有最大效益值的可行解就是最優(yōu)解。優(yōu)解。有有n個(gè)作業(yè)個(gè)作業(yè), n=4, 其效益為其效益為(p1,p2,p3,p4)=(100,10,15,20)其截止期限為其截止期限為(d1,d2,d3,d4)=(2,1,2,1),求該問題的最優(yōu)解求該問題的最優(yōu)解有限期的作業(yè)排序?qū)嵗邢奁诘淖鳂I(yè)排序?qū)嵗尚薪釰處處理順順序效益值值pj (1)1100(2)210(3)315(4)420 (1,3) 1, 3或或3, 1 115 (1,
13、2) 2,1 110 (1,4) 4,1 120 (2,3) 2,3 25 (3,4) 4,3 35二、解決方法和必要的條件(可行否)二、解決方法和必要的條件(可行否) 解決方法:解決方法: 使用貪心策略,制定一個(gè)量度標(biāo)準(zhǔn)使用貪心策略,制定一個(gè)量度標(biāo)準(zhǔn),如:可使得所選擇如:可使得所選擇的下一個(gè)作業(yè)在可行情況下達(dá)到最優(yōu)。(注意與目標(biāo)函數(shù)的下一個(gè)作業(yè)在可行情況下達(dá)到最優(yōu)。(注意與目標(biāo)函數(shù)的不同),則下一個(gè)要考慮的作業(yè)將是未考察過的有最大的不同),則下一個(gè)要考慮的作業(yè)將是未考察過的有最大收益的作業(yè),這樣只要將各作業(yè)按效益收益的作業(yè),這樣只要將各作業(yè)按效益pi降序來排列即可降序來排列即可,即即: p1
14、 p2 pn 必要條條件: 考察的作業(yè)業(yè)能否加入(可行解的判斷斷)三、帶有限期的作業(yè)排序的一般方法的粗略描述三、帶有限期的作業(yè)排序的一般方法的粗略描述 p105 procedure GREEDY_JOB(D, J, n) J1 for i 2 to n do if (Ji的所有作業(yè)業(yè)都能在它們它們的截止期限前完成 ) then J=Ji endif repeat end GREEDY_JOB 算法中最關(guān)鍵的一步算法中最關(guān)鍵的一步 四、最優(yōu)解的證明 定理 p105 五、可行解的充分必要條件 定理 p106 六、有限期的作業(yè)排序的貪心算法六、有限期的作業(yè)排序的貪心算法從從D(Jk)到到 D(J1)
15、依次與依次與D(i)比較來尋比較來尋找插入位置找插入位置r的過程的過程 滿足條件表滿足條件表示找到插入示找到插入位置位置r實(shí)現(xiàn)作業(yè)實(shí)現(xiàn)作業(yè)r+1到到作業(yè)作業(yè)k依次往后依次往后移動(dòng)一個(gè)位置移動(dòng)一個(gè)位置 將作業(yè)將作業(yè)i插入到插入到r+1位置位置procedure JS(D, J, n, k) integer D(0:n), J(0:n), i, k, n, r D0J0 0; k 1; J1 1 for i 2 to n do r k while DJrDi and DJr r do r r 1 repeat if DJrDi and Dir then for i k to r+1 by 1 do
16、 J i+1 J i repeat Jr+1 i ; k k+1; endif repeatend JS對(duì)于對(duì)于JS有兩個(gè)賴以測(cè)量其時(shí)間復(fù)雜度的參數(shù)有兩個(gè)賴以測(cè)量其時(shí)間復(fù)雜度的參數(shù):作業(yè)數(shù)作業(yè)數(shù) n 和包含在解和包含在解J中的作業(yè)數(shù)中的作業(yè)數(shù) s 內(nèi)層的內(nèi)層的while循環(huán)至多循環(huán)循環(huán)至多循環(huán)k次次插入作業(yè)插入作業(yè) i 要執(zhí)行時(shí)間為要執(zhí)行時(shí)間為O(k-r)外層外層for循環(huán)共執(zhí)行循環(huán)共執(zhí)行(n-1)次次如果如果s是是k的終值,即的終值,即s是最后所得解的作業(yè)數(shù),是最后所得解的作業(yè)數(shù),則則JS算法所需要的總時(shí)間為算法所需要的總時(shí)間為O(sn)由于由于s n,所以,所以JS算法的時(shí)間復(fù)雜度為算法的
17、時(shí)間復(fù)雜度為O(n2)帶限期序作業(yè)排序的貪心算法的時(shí)間復(fù)雜度帶限期序作業(yè)排序的貪心算法的時(shí)間復(fù)雜度 七、一個(gè)更快的作業(yè)排序算法思想(正確性) 八、實(shí)現(xiàn)方法討論 九、union和find的實(shí)現(xiàn) p44-46 十、一個(gè)更快的作業(yè)排序算法 p108 十一、運(yùn)行實(shí)例 設(shè) n=7,(p1,p7)=(35,30,25,20,15,10,5)和,(d1,d7)=(4,2,4,3,4,8,3)。利用算法FJS求解上述作業(yè)排序問題的最優(yōu)解。3.4 最優(yōu)歸并優(yōu)歸并模式將兩個(gè)分別包含將兩個(gè)分別包含n個(gè)和個(gè)和m個(gè)記錄的已排序的文件合并個(gè)記錄的已排序的文件合并成一個(gè)包含成一個(gè)包含(n+m)個(gè)記錄的排序文件個(gè)記錄的排序文
18、件, 時(shí)間為時(shí)間為O(n+m)1460357901345679文件文件1: n=3文件文件2: m=5 歸并模式歸并模式: 給給出n個(gè)個(gè)已排序的文件, 則則存在多種種把這這些文件歸并歸并成一個(gè)個(gè)排序文件的方法, 這這些方法就稱為歸并稱為歸并模式 每一步都?xì)w并兩個(gè)文件稱二路歸并每一步都?xì)w并兩個(gè)文件稱二路歸并例例: 將將4個(gè)文件進(jìn)行歸并的兩種方法個(gè)文件進(jìn)行歸并的兩種方法, 方法不同則計(jì)算時(shí)方法不同則計(jì)算時(shí)間不同。設(shè)文件間不同。設(shè)文件X1-X4的記錄數(shù)分別為的記錄數(shù)分別為:20, 35, 10, 25X1X2X3X4Y1Y2Y3X1X2X3X4Y1Y2Y3556590553590歸并方法歸并方法1:
19、歸并方法歸并方法2:記錄移動(dòng)的總次數(shù)記錄移動(dòng)的總次數(shù): 55+65+90=210記錄移動(dòng)的總次數(shù)記錄移動(dòng)的總次數(shù): 55+35+90=180較優(yōu)較優(yōu) 由例子可以看出不同的歸并方法具有不同的計(jì)算時(shí)間由例子可以看出不同的歸并方法具有不同的計(jì)算時(shí)間,所以問題的關(guān)鍵是所以問題的關(guān)鍵是: 如何確定一個(gè)把如何確定一個(gè)把k個(gè)已排序文件歸個(gè)已排序文件歸并在一起的最優(yōu)方法并在一起的最優(yōu)方法Y1Y2Y3553590記錄移動(dòng)的總次數(shù)記錄移動(dòng)的總次數(shù): 55+35+90=180X1X2X3X420 35 10 25Y1Y2Y3X1X320 10X425X235305590記錄移動(dòng)的總次數(shù)記錄移動(dòng)的總次數(shù): 30+55
20、+90=175最優(yōu)最優(yōu) 用貪心法求解問題的關(guān)鍵是選擇能產(chǎn)生最優(yōu)解的最優(yōu)量用貪心法求解問題的關(guān)鍵是選擇能產(chǎn)生最優(yōu)解的最優(yōu)量度標(biāo)準(zhǔn)。對(duì)于歸并文件來說度標(biāo)準(zhǔn)。對(duì)于歸并文件來說, 因?yàn)闅w并一個(gè)具有因?yàn)闅w并一個(gè)具有n個(gè)記錄的文個(gè)記錄的文件和一個(gè)具有件和一個(gè)具有m個(gè)記錄的文件可能需要個(gè)記錄的文件可能需要m+n次記錄次記錄 移動(dòng)移動(dòng), 所以所以對(duì)量度標(biāo)準(zhǔn)的一種很明顯的選擇是對(duì)量度標(biāo)準(zhǔn)的一種很明顯的選擇是: 每一步都?xì)w并尺寸比較小每一步都?xì)w并尺寸比較小的兩個(gè)文件的兩個(gè)文件例例: 有五個(gè)文件長(zhǎng)度分別是有五個(gè)文件長(zhǎng)度分別是(F1,F5)=(20, 30,10, 5, 30)5F410F315Z120F130F23
21、0F560Z335Z295Z4這種模式稱這種模式稱二路歸并模式二路歸并模式 用用二元?dú)w并樹二元?dú)w并樹來表示來表示葉結(jié)點(diǎn)稱葉結(jié)點(diǎn)稱外部結(jié)點(diǎn)外部結(jié)點(diǎn)表示已知的文件表示已知的文件內(nèi)部結(jié)點(diǎn)內(nèi)部結(jié)點(diǎn), 每個(gè)內(nèi)部結(jié)點(diǎn)每個(gè)內(nèi)部結(jié)點(diǎn)有兩個(gè)兒子有兩個(gè)兒子, 表示它是由表示它是由兩個(gè)文件歸并而得到的兩個(gè)文件歸并而得到的5F410F315Z120F130F230F560Z335Z295Z4帶權(quán)外部路徑長(zhǎng)度帶權(quán)外部路徑長(zhǎng)度 如果如果di表示從根到代表文件表示從根到代表文件Fi的外部結(jié)點(diǎn)的距離的外部結(jié)點(diǎn)的距離, qi表示文件表示文件Fi的長(zhǎng)度的長(zhǎng)度(即記錄數(shù)即記錄數(shù)), 則這棵二元?dú)w并樹則這棵二元?dú)w并樹 的記錄移動(dòng)總量
22、是的記錄移動(dòng)總量是:diqi ( i=1,2,n) 問題的轉(zhuǎn)化:一個(gè)最優(yōu)問題的轉(zhuǎn)化:一個(gè)最優(yōu)二路歸并模式與構(gòu)造一棵二路歸并模式與構(gòu)造一棵具有最小外部路徑的二元具有最小外部路徑的二元樹相對(duì)應(yīng)樹相對(duì)應(yīng)計(jì)算實(shí)例中的記錄移動(dòng)總量計(jì)算實(shí)例中的記錄移動(dòng)總量diqi =5*3+10*3+20*2+30*2+30*2 =205二元?dú)w并樹算法二元?dú)w并樹算法 算法把算法把n個(gè)樹的表個(gè)樹的表L作為輸入作為輸入, 樹中的每一個(gè)結(jié)點(diǎn)有樹中的每一個(gè)結(jié)點(diǎn)有三個(gè)信息段三個(gè)信息段( LCHILD,RCHILD,WEIGHT ) 起初起初L中的每一棵樹正好是一個(gè)結(jié)點(diǎn)中的每一棵樹正好是一個(gè)結(jié)點(diǎn), 即外部結(jié)點(diǎn)即外部結(jié)點(diǎn), 結(jié)點(diǎn)的結(jié)點(diǎn)
23、的LCHILD和和RCHILD信息段都為信息段都為0, 而而WEIGHT信息段的值就是已知文件的長(zhǎng)度。信息段的值就是已知文件的長(zhǎng)度。 算法運(yùn)行時(shí)算法運(yùn)行時(shí), 對(duì)于對(duì)于L中的任何一棵具有根結(jié)點(diǎn)中的任何一棵具有根結(jié)點(diǎn)T的樹的樹, WEIGHT(T)表示要?dú)w并的文件的長(zhǎng)度表示要?dú)w并的文件的長(zhǎng)度 WEIGHT(T) = 樹樹T中外部結(jié)點(diǎn)的長(zhǎng)度和中外部結(jié)點(diǎn)的長(zhǎng)度和 算法包括三個(gè)子算法算法包括三個(gè)子算法: GETNODE(T)用來產(chǎn)生一個(gè)用來產(chǎn)生一個(gè)新結(jié)點(diǎn)新結(jié)點(diǎn); LEAST(L)找出表找出表L中中WEIGHT最小的樹最小的樹, 并將它從并將它從L中刪除中刪除; INSERT(L,T)把根為把根為T的樹插
24、入的樹插入到表到表L中中procedure TREE(L, n)for i=1 to n- -1 do call GETNODE(T); LCHILD(T)=call LEAST(L); RCHILD(T)=call LEAST(L); WEIGHT(T)=WEIGHT(LCHILD(T)+WEIGHT(RCHILD(T) call INSERT(L,T); return (LEAST(L);end TREE二元?dú)w并樹算法描述二元?dú)w并樹算法描述構(gòu)造一個(gè)新結(jié)點(diǎn)構(gòu)造一個(gè)新結(jié)點(diǎn) 作作為當(dāng)前樹的根結(jié)點(diǎn)為當(dāng)前樹的根結(jié)點(diǎn)找出找出L中一棵中一棵WEIGHT最小的樹最小的樹, 把它作為新把它作為新結(jié)點(diǎn)的左子樹
25、結(jié)點(diǎn)的左子樹, 然后在然后在L中將這棵樹刪除中將這棵樹刪除把根為把根為T的樹插的樹插入到表入到表L中中新結(jié)點(diǎn)的新結(jié)點(diǎn)的WEIGHT信信息段的值等于左、右息段的值等于左、右子樹的子樹的WEIGHT之和之和最后留在表最后留在表L中的樹就是歸中的樹就是歸并樹并樹,將它作為結(jié)果返回將它作為結(jié)果返回例例: 有有6個(gè)文件個(gè)文件, 長(zhǎng)度分別為長(zhǎng)度分別為: 2 , 3 , 5 , 7 , 9 , 13, 對(duì)它們對(duì)它們進(jìn)行最優(yōu)二元?dú)w并進(jìn)行最優(yōu)二元?dú)w并23初始初始, 表表L中有中有6棵樹棵樹,每棵樹只有一個(gè)結(jié)點(diǎn)每棵樹只有一個(gè)結(jié)點(diǎn),分別代表分別代表6個(gè)文件個(gè)文件i=1, 先產(chǎn)生一個(gè)新結(jié)點(diǎn)先產(chǎn)生一個(gè)新結(jié)點(diǎn)(內(nèi)結(jié)點(diǎn)內(nèi)結(jié)點(diǎn)), 從從L的的6棵樹中找出棵樹中找出WEIGHT值值最小的樹最小的樹,作為新結(jié)點(diǎn)的左子樹作為新結(jié)點(diǎn)的左子樹, 再從剩余再從剩余5棵樹中找出棵樹中找出WEIGHT最小的樹最小的樹,作為新結(jié)點(diǎn)的右子樹作為新結(jié)點(diǎn)的右子樹, 新結(jié)點(diǎn)的新結(jié)點(diǎn)的WEIGHT的值等于左、的值等于左、右子樹右子樹WEIGHT值之和值之和, 表表L中還有中還有5棵樹棵樹2351379表表L:i=1,表表L:513795i=2, 先產(chǎn)生一個(gè)新結(jié)點(diǎn)先產(chǎn)生一個(gè)新結(jié)點(diǎn), 從從L的棵樹中找出的棵樹中找出WEIGHT值為值為5的樹的樹,作為新結(jié)點(diǎn)的左子樹作為新結(jié)點(diǎn)的左子樹, 再在剩余再在剩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代學(xué)生餐廳的照明與色彩搭配藝術(shù)
- 深度解讀網(wǎng)絡(luò)輿情的來源與影響研究報(bào)告解讀分享
- 現(xiàn)代金融行業(yè)中的移動(dòng)支付技術(shù)與教育普及
- 快手國慶節(jié)的活動(dòng)方案
- 國慶假期活動(dòng)方案
- 國慶節(jié)酒店漲價(jià)活動(dòng)方案
- 2、3、4的乘法口訣(說課稿)-2024-2025學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)人教版
- Unit1 There is a horse in this photo(說課稿)-2024-2025學(xué)年外研版(三起)四年級(jí)上冊(cè)001
- 17《他們那時(shí)候多有趣啊》(說課稿)-2023-2024學(xué)年統(tǒng)編版語文六年級(jí)下冊(cè)
- 13 我能行(說課稿)-統(tǒng)編版(五四制)道德與法治二年級(jí)下冊(cè)
- 水利水電工程監(jiān)理平行檢測(cè)表部分
- 分部分項(xiàng)工程質(zhì)量檢驗(yàn)計(jì)劃表
- 社區(qū)衛(wèi)生服務(wù)中心醫(yī)療服務(wù)推薦病-2023版1-4-10
- HY/T 266-2018外壓中空纖維超濾膜表面親水性的測(cè)試接觸角法
- GB/T 4857.3-2008包裝運(yùn)輸包裝件基本試驗(yàn)第3部分:靜載荷堆碼試驗(yàn)方法
- 【英文原版小說】the things they carried《負(fù)荷》
- 領(lǐng)導(dǎo)干部如何管理壓力與情緒課件
- 2022-2023年度神農(nóng)中華農(nóng)業(yè)科技獎(jiǎng)科研和科普類推薦書和摘要表(樣本)
- 《鄉(xiāng)土中國-差序格局》學(xué)案-統(tǒng)編版高中語文必修上冊(cè)
- 大學(xué)成績(jī)單中文(word版)
- 海南省儋州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼居民村民委員會(huì)
評(píng)論
0/150
提交評(píng)論