• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 70  文章 - 160  trackbacks - 0

            公告:
            知識共享許可協議
            本博客采用知識共享署名 2.5 中國大陸許可協議進行許可。本博客版權歸作者所有,歡迎轉載,但未經作者同意不得隨機刪除文章任何內容,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 具體操作方式可參考此處。如您有任何疑問或者授權方面的協商,請給我留言。

            常用鏈接

            留言簿(8)

            隨筆檔案

            文章檔案

            搜索

            •  

            積分與排名

            • 積分 - 179004
            • 排名 - 147

            最新評論

            閱讀排行榜

            評論排行榜

            原文鏈接:

             http://www.wutianqi.com/?p=1284


             

            給定一個帶權的無向連通圖,如何選取一棵生成樹,使樹上所有邊上權的總和為最小,這叫最小生成樹.

            求最小生成樹的算法
            (1) 克魯斯卡爾算法
            圖的存貯結構采用邊集數組,且權值相等的邊在數組中排列次序可以是任意的.該方法對于邊相對比較多的不是很實用,浪費時間.
            (2) 普里姆算法
            圖的存貯結構采用鄰接矩陣.此方法是按各個頂點連通的步驟進行,需要用一個頂點集合,開始為空集,以后將以連通的頂點陸續加入到集合中,全部頂點加入集合后就得到所需的最小生成樹 .


            下面來具體講下:
            克魯斯卡爾算法
            方法:將圖中邊按其權值由小到大的次序順序選取,若選邊后不形成回路,則保留作為一條邊,若形成回路則除去.依次選夠(n-1)條邊,即得最小生成樹.(n為頂點數)

            第一步:由邊集數組選第一條邊

            第二步:選第二條邊,即權值為2的邊

            第三步:選第三條邊,即權值為3的邊

            第四步:選第四條邊,即權值為4的邊

            第五步:選第五條邊

             


            普里姆算法
            方法:從指定頂點開始將它加入集合中,然后將集合內的頂點與集合外的頂點所構成的所有邊中選取權值最小的一條邊作為生成樹的邊,并將集合外的那個頂點加入到集合中,表示該頂點已連通.再用集合內的頂點與集合外的頂點構成的邊中找最小的邊,并將相應的頂點加入集合中,如此下去直到全部頂點都加入到集合中,即得最小生成樹.
            例在下圖中從1點出發求出此圖的最小生成樹,并按生成樹的邊的順序將頂點與權值填入表中.

            ———————>先寫出其鄰接矩陣

            第一步:從①開始,①進集合,用與集合外所有頂點能構成的邊中找最小權值的一條邊
            ①——②權6
            ①——③權1 -> 取①——③邊
            ①——④權5

             

            第二步:③進集合,①,③與②,④,⑤,⑥構成的最小邊為
            ①——④權5
            ③——⑥權4 -> 取③——⑥邊

            第三步:⑥進集合,①,③,⑥與②,④,⑤構成的各最小邊
            ①——②權6
            ③——②權5
            ⑥——④權2 -> 取⑥——④邊

            第四步:④進集合,①,③,⑥,④與②,⑤構成的各最小邊
            ①——②權6
            ③——②權5 -> 取③——②邊
            ⑥——⑤權6

            第四步:②進集合,①,③,⑥,②,④與⑤構成的各最小邊
            ②——⑤權3 -> 取②——⑤邊


            這也是在網上找到的一個Kruskal和Prim構造過程圖,貼出來:

             


            這題的模版我暫時沒找到好的。我覺得這題主要還是思想,當然,給一些題目來練習是必不可少的。
            HDOJ 1233 還是暢通工程
            HDOJ 1863 暢通工程
            HDOJ 1879 繼續暢通工程
            http://www.wutianqi.com/?p=1286

             

            HDOJ 1102 Constructing Roads
            http://www.wutianqi.com/?p=1313

            HDOJ 1875 暢通工程再續
            http://www.wutianqi.com/?p=1300

            posted on 2010-09-18 01:14 Tanky Woo 閱讀(2474) 評論(1)  編輯 收藏 引用

            FeedBack:
            # re: 最小生成樹(Minimum Spanning Tree)[未登錄] 2013-02-18 19:07 ming
            因此,就如同每天上班的狀態一樣與今天的拜年一樣百分八十存在的狀態實際上與自己重負本身沒有關系,或者說是這樣的負重對于自己的真實負重來說其實就是一種混亂,對于真實的自己需要的狀態和一天的情況的區別就在于此。  回復  更多評論
              
            久久国产视频99电影| 久久性生大片免费观看性| 久久精品夜夜夜夜夜久久| 日韩人妻无码一区二区三区久久| 久久婷婷激情综合色综合俺也去| 97超级碰碰碰久久久久| 久久精品中文字幕第23页| 色88久久久久高潮综合影院| 91久久成人免费| 人妻少妇久久中文字幕 | 国产午夜精品理论片久久 | AAA级久久久精品无码片| 国产成人AV综合久久| 97久久国产综合精品女不卡 | 久久精品国产亚洲7777| 国内精品伊人久久久久777| 国产亚洲精午夜久久久久久| 久久九九兔免费精品6| 大美女久久久久久j久久| 久久99亚洲网美利坚合众国| 手机看片久久高清国产日韩| 国产精品一久久香蕉国产线看| 久久久久久av无码免费看大片| 久久久一本精品99久久精品66 | 久久人人妻人人爽人人爽| 无码乱码观看精品久久| 国产精品一区二区久久| 久久精品中文字幕无码绿巨人| 久久青青草视频| 久久亚洲中文字幕精品一区| 久久久久这里只有精品| 精品久久久久久久中文字幕| 精品国产一区二区三区久久| 久久香蕉超碰97国产精品| 亚洲狠狠婷婷综合久久蜜芽| 久久精品日日躁夜夜躁欧美| 日本亚洲色大成网站WWW久久| 99久久免费只有精品国产| 97精品国产97久久久久久免费| 国内精品久久久久久99蜜桃| 77777亚洲午夜久久多喷|