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

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

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

    waysun一路陽光

    不輕易服輸,不輕言放棄.--心是夢的舞臺,心有多大,舞臺有多大。踏踏實實做事,認認真真做人。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 64 評論 :: 0 Trackbacks
    來源:http://blog.chinaunix.net/u1/50399/showart_407408.html
    /*
     * @input: 一個有向無環帶權圖,表述為一個二維數組graph[n][n]
     * @output: 最小生成樹tree[n-1][3],tree[i][0]及tree[i][1]為邊之頂點,tree[i][2]為權
     */
    public class MiniSpanTreeTest
    {  
       static int[][] graph={
           {1000,6,1,5,1000,1000},
           {6,1000,5,1000,3,1000},
           {1,5,1000,5,6,4},
           {5,1000,5,1000,1000,2},
           {1000,3,6,1000,1000,6},
           {1000,1000,4,2,6,1000},
       };
       static int v=0;
       static int[][] tree;
       public static void main(String[] args)
       {
           MiniSpanTree miniSpanTree=new MiniSpanTree();
           miniSpanTree.input(graph, v);
           tree=miniSpanTree.getTree();
           for(int i=0; i<graph.length-1; i++){
               System.out.println("邊:" + tree[i][0] + "-" + tree[i][1] + "  權:" + tree[i][2]);
           }
       }
    }
    class MiniSpanTree
    {
        private int[][] graph;
        private int v;
        private int[][] tree;
        private boolean[] s;
        void input(int[][] graph, int v)
        {
            this.graph=graph;
            this.v=v;
            tree=new int[graph.length-1][];
            s=new boolean[graph.length];
            for(boolean i : s) i=false;
            s[v]=true;
            calculate();
        }
        void calculate()
        {
            for(int i=0; i<graph.length-1; i++){
                int[][] edge ={{0,0,1000,},};
                for(int j=0; j<graph.length; j++){
                    for(int k=0; s[j]==true && k<graph.length; k++){
                        if(s[k]==false && graph[j][k]<edge[0][2]){
                            edge[0][0]=j;
                            edge[0][1]=k;
                            edge[0][2]=graph[j][k];
                        }
                    }
                }
                tree[i]=edge[0];
                s[tree[i][1]]=true;
            }
        }
        int[][] getTree()
        {
            return tree;
        }
    }
     
    結果如下:
    邊:0-2  權:1
    邊:2-5  權:4
    邊:5-3  權:2
    邊:2-1  權:5
    邊:1-4  權:3
    posted on 2009-04-15 22:20 weesun一米陽光 閱讀(369) 評論(0)  編輯  收藏 所屬分類: JAVA源碼總結備用
    主站蜘蛛池模板: 亚洲欧洲专线一区| 亚洲AV成人片色在线观看高潮| 亚洲成人黄色网址| 99久久精品免费视频| 亚洲国产精品福利片在线观看| 成在线人视频免费视频| 亚洲国产一成人久久精品| 你懂的在线免费观看| 亚洲国产精品久久66| 131美女爱做免费毛片| 亚洲国产精品综合一区在线| 免费国产成人高清在线观看网站| 亚洲人成人网毛片在线播放| 免费被黄网站在观看| 亚洲欧美在线x视频| 亚洲日韩中文在线精品第一| 青青操免费在线视频| 91亚洲va在线天线va天堂va国产 | 亚洲AV成人精品日韩一区18p| 老外毛片免费视频播放| 久久久久国产成人精品亚洲午夜 | 国产国拍亚洲精品mv在线观看 | 免费无码一区二区| 久久精品国产亚洲7777| 久久国产精品免费网站| 亚洲宅男精品一区在线观看| 成人永久免费福利视频网站| 一级毛片在线免费播放| 亚洲国产精品不卡在线电影| 久久综合AV免费观看| 一级女人18片毛片免费视频| 亚洲AV无码一区二区二三区软件| 在线永久免费的视频草莓| 亚洲爆乳成av人在线视菜奈实 | 精品无码免费专区毛片| 亚洲av无码一区二区三区四区| 在线观看亚洲精品国产| 国产曰批免费视频播放免费s| 羞羞漫画在线成人漫画阅读免费| 亚洲国产成人片在线观看无码| 中文字幕av无码无卡免费|