<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源碼總結備用
    主站蜘蛛池模板: 国产免费一区二区三区免费视频 | 国产三级在线免费观看| 成人永久免费福利视频网站| 亚洲一级毛片免费在线观看| 69xx免费观看视频| 91在线精品亚洲一区二区| 日本免费一区二区三区四区五六区| 亚洲高清国产AV拍精品青青草原| 亚洲第一视频在线观看免费| 亚洲国产精品第一区二区三区| 免费人人潮人人爽一区二区 | a级毛片免费全部播放| 亚洲午夜激情视频| 中文字幕在线观看免费| 亚洲国产a∨无码中文777 | 午夜成年女人毛片免费观看| 久久综合久久综合亚洲| 日日AV拍夜夜添久久免费| 美女又黄又免费的视频| 超清首页国产亚洲丝袜| 久久免费视频精品| 亚洲AV无码一区二区三区在线| 全免费一级午夜毛片| 黄色a级免费网站| 亚洲av永久无码精品秋霞电影影院| 一级毛片全部免费播放| 久久亚洲精品国产亚洲老地址| 免费a级毛片在线观看| 免费看一区二区三区四区| 国内精品免费视频精选在线观看| 亚洲av无码潮喷在线观看 | 97性无码区免费| 亚洲av成人一区二区三区观看在线| 无码专区一va亚洲v专区在线| 插鸡网站在线播放免费观看| 亚洲第一二三四区| 国产jizzjizz视频免费看| 国产成人免费ā片在线观看老同学 | 国产视频精品免费视频| 亚洲高清美女一区二区三区| 日本成人在线免费观看|