• <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>

            O(1) 的小樂

            Job Hunting

            公告

            記錄我的生活和工作。。。
            <2010年9月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            統計

            • 隨筆 - 182
            • 文章 - 1
            • 評論 - 41
            • 引用 - 0

            留言簿(10)

            隨筆分類(70)

            隨筆檔案(182)

            文章檔案(1)

            如影隨形

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            Connected Component 無向圖連通分量

            In graph theory, a connected component of an undirected graph is a subgraph in which any two vertices are connected to each other by paths, and which is connected to no additional vertices. For example, the graph shown in the illustration on the right has three connected components. A graph that is itself connected has exactly one connected component, consisting of the whole graph.

             

            A graph with three connected components.

             

            顯然DFS就足夠判斷了。。BFS當然可以了。。

             

            Code:

            #include "cstdlib"
            #include "cctype"
            #include "cstring"
            #include "cstdio"
            #include "cmath"
            #include "algorithm"
            #include "vector"
            #include "string"
            #include "iostream"
            #include "sstream"
            #include "set"
            #include "queue"
            #include "stack"
            #include "fstream"
            #include "strstream"
            using namespace std;

            #define  M 5000                       //題目中可能的最大點數 
            int DFN[M];                           //深度優先搜索訪問次序
            int ConnectedComponetNumber=0;        //有向圖強連通分量個數
            int Belong[M];
            int Index=0;
            vector <int> Edge[M];        //鄰接表表示
            vector <int> ConnectedComponent[M];   //獲得強連通分量結果

            void DFS(int i)
            {
                DFN[i]=Index++;
                Belong[i]=ConnectedComponetNumber;
                ConnectedComponent[ConnectedComponetNumber].push_back(i);
                for (int e=0;e<Edge[i].size();e++)
                {
                    int j=Edge[i][e];
                    if (DFN[j]==-1)
                        DFS(j);
                }
            }

            void solve(int N)     //此圖中點的個數,注意是0-indexed!
            {
                memset(DFN,-1,sizeof(DFN));
                memset(Belong,0,sizeof(Belong));
                for(int i=0;i<N;i++)
                    if(DFN[i]==-1)
                        ConnectedComponetNumber++,DFS(i);
            }
            void reshape(int N)
            {
                cout<<ConnectedComponetNumber<<endl;
                for(int i=0;i<N;i++)
                    cout<<Belong[i]<<" ";
                cout<<endl;
                for(int i=0;i<N;i++)
                    cout<<DFN[i]<<" ";
                cout<<endl;
                for(int i=1;i<=ConnectedComponetNumber;i++)
                {
                    for(int j=0;j<ConnectedComponent[i].size();j++)
                        cout<<ConnectedComponent[i][j]<<" ";
                    cout<<endl;
                }
            }
            /*
            此算法正常工作的基礎是圖是0-indexed的。
            */
            int main()
            {
                Edge[0].push_back(1);
                Edge[1].push_back(0),Edge[1].push_back(2);
                Edge[2].push_back(1);
                int N=6;
                solve(N);
                reshape(N);
                return 0;
            }

            posted on 2010-09-28 10:11 Sosi 閱讀(1230) 評論(0)  編輯 收藏 引用

            統計系統
            性做久久久久久久久老女人| 久久香蕉国产线看观看99| 国产精品热久久毛片| 一本一道久久a久久精品综合| 久久99热狠狠色精品一区| 一本久久a久久精品vr综合| 色噜噜狠狠先锋影音久久| 久久毛片免费看一区二区三区| 国内精品九九久久久精品| 久久无码专区国产精品发布| 国产亚州精品女人久久久久久| 久久人人爽人人爽人人AV东京热 | 人妻少妇久久中文字幕一区二区| 久久国产精品99久久久久久老狼 | 国产精品成人99久久久久91gav| 91麻豆国产精品91久久久| 国产叼嘿久久精品久久| 国产午夜福利精品久久2021| 久久亚洲AV无码精品色午夜麻豆| 中文字幕久久欲求不满| 久久综合九色综合久99| 久久精品成人欧美大片| 亚洲欧美一区二区三区久久| 欧美麻豆久久久久久中文| 99久久夜色精品国产网站| 久久国产亚洲精品麻豆| 精品国产一区二区三区久久| 综合网日日天干夜夜久久| 久久热这里只有精品在线观看| 久久中文字幕无码专区| 午夜精品久久影院蜜桃| 一本大道久久香蕉成人网| 久久久久99这里有精品10| 久久只这里是精品66| 亚洲精品乱码久久久久久蜜桃不卡 | 伊人久久大香线蕉无码麻豆| 久久久久国色AV免费看图片 | 久久精品无码专区免费东京热 | 色婷婷噜噜久久国产精品12p | 精品无码久久久久国产动漫3d| 久久午夜夜伦鲁鲁片免费无码影视 |