<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經(jīng)驗,分享JAVA帶來的快樂!本網(wǎng)站部分轉載文章,如果有版權問題請與我聯(lián)系。

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    圖中代權的最小樹的問題如下:


    如果N個城市之間(圖中的頂點)要修公路(圖中的邊)以使所有的城市聯(lián)通,求怎樣修可以使得公路的總長最小?
    以上問題中的N個城市之間可以用圖中的頂點表示,公路可以圖中的邊表示,公路的長度用邊長表示,公路是雙向的。問題就轉換為在有N個頂點中的雙向代權圖中求得一個最小樹。這里的代權指的邊的長度,這與以前的不代權的最小樹生成算法有很大的區(qū)別。


    算法描述如下:


        任選一個節(jié)點開始,將該節(jié)點標志為已訪問過的節(jié)點。也就是最小樹中的節(jié)點。并設置為當前節(jié)點。
        1 尋找此訪問節(jié)點的所有的鄰接頂點,將邊置入優(yōu)先隊列。鄰接頂點不考慮已標志為訪問的節(jié)點,因為它已在結果中。
        2 重復 步驟1 直到?jīng)]有新的邊被發(fā)現(xiàn)。此時在所有發(fā)現(xiàn)的邊中找到最小的邊,將其終點頂點標志為已訪問,放入最小樹中。并設置為當前節(jié)點
        3 重復 步驟 1,2,直到邊的隊列中沒有多余的邊,算法結束。

        注意:這里的優(yōu)先級隊列是個修正過的優(yōu)先級隊列,每次向該隊列中加入一條新邊時后,會檢查是否有與新邊終點相同的第二條邊的存在,如果有,則刪除邊長較大的邊。因為如果存在這樣的邊說明,有兩條從已訪問過節(jié)點到相同目標節(jié)點的路徑存在,如果這樣的話只用保留最小的那條邊即可。

    這里的圖采用Graph 圖-鄰接矩陣法 表示。



    算法實際上是作如下操作:


        先準備好一個優(yōu)先級隊列,里面以邊長為關鍵值存放邊,邊的起點表示已被訪問過的節(jié)點,而邊的終點表示未訪問的節(jié)點。將某節(jié)點標志為訪問過節(jié)點。開始算法。
        尋找該訪問過節(jié)點的所有邊,并記錄邊長,放入邊優(yōu)先級隊列中;
        找到所有從已訪問過的節(jié)點到未訪問節(jié)點的邊中的最小邊;
        將最小邊連接的頂點設置為訪問過,重復以上過程,直到所有節(jié)點都變成已訪問。

    主要的類如下:

        Edge:記載邊

        PriorityQ:修正后的優(yōu)先級隊列

        Vertex:頂點

        Gragh:圖

            Gragh.mstw():最小樹生成算法

            Gragh.main():提供簡單測試

    代碼如下:

     

    JAVA代碼

     

    posted on 2008-05-28 15:45 rogerfan 閱讀(419) 評論(0)  編輯  收藏 所屬分類: 【JAVA算法】
    主站蜘蛛池模板: 免费福利资源站在线视频| 亚洲午夜无码毛片av久久京东热| 亚洲国产成人久久精品动漫 | 免费乱理伦在线播放| 亚洲人成色77777在线观看大| 亚洲人成在线播放网站| 亚洲小视频在线观看| 国产精品亚洲自在线播放页码 | 精品久久亚洲一级α| eeuss草民免费| 99热这里有免费国产精品| 黄色成人网站免费无码av| 亚洲Av无码国产情品久久| 国产精品亚洲а∨无码播放| 91嫩草亚洲精品| 亚洲AV日韩AV无码污污网站| 日韩免费高清播放器| 在线v片免费观看视频| 九月婷婷亚洲综合在线| 久久精品国产亚洲香蕉| 亚洲人片在线观看天堂无码| GOGOGO免费观看国语| 久久国内免费视频| 亚洲AV日韩精品一区二区三区| 亚洲AV日韩AV天堂一区二区三区 | 玖玖在线免费视频| 黄色成人网站免费无码av| 在线亚洲97se亚洲综合在线| 亚洲国产精品免费在线观看| 白白色免费在线视频| 最近免费视频中文字幕大全| 免费jjzz在线播放国产| 精品日韩亚洲AV无码| 美女视频黄视大全视频免费的| 色欲国产麻豆一精品一AV一免费| 国产老女人精品免费视频| 久久久久亚洲av无码专区蜜芽| 亚洲jizzjizz少妇| 久久久免费的精品| 国产精品免费_区二区三区观看| 亚洲精品制服丝袜四区|