<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高清无码| 日本人成在线视频免费播放| 久久精品国产亚洲一区二区| 在线日本高清免费不卡| 亚洲欧美日韩中文无线码| 亚洲成人激情在线| 国产高清在线免费| 国产免费无码一区二区| 2020国产精品亚洲综合网| 亚洲精品A在线观看| 99久久免费中文字幕精品| 亚洲AV无码男人的天堂| 久久夜色精品国产亚洲AV动态图| 亚洲AⅤ视频一区二区三区| 99视频在线免费看| 国产免费网站看v片在线| 亚洲乱码在线卡一卡二卡新区| 亚洲偷自拍拍综合网| 亚洲成a人片在线观看日本麻豆| 无码一区二区三区免费| 国产精品亚洲天堂| 亚洲精品美女视频| 亚洲一区二区高清| 亚洲国产午夜中文字幕精品黄网站| 成人毛片视频免费网站观看| 日本中文字幕免费高清视频| 成年女人A毛片免费视频| 亚洲精品无码mⅴ在线观看| 久久久久国产亚洲AV麻豆| 扒开双腿猛进入爽爽免费视频| 91精品免费久久久久久久久| 国产激情久久久久影院老熟女免费| 亚洲五月丁香综合视频| 亚洲va在线va天堂va手机| 久久精品国产亚洲AV麻豆王友容| va亚洲va日韩不卡在线观看| 免费中文字幕不卡视频| 成年在线网站免费观看无广告| 97无码免费人妻超级碰碰碰碰| 亚洲成人免费在线|