zoukankan      html  css  js  c++  java
  • 图的遍历

    定义结点

    struct MGraph
    {
        int vexs[MAXVEX];        //顶点数
        int arc[MAXVEX][MAXVEX]; //邻接矩阵
        int numVertex, numEdges;  //定点数 边数
    };

    深度优先遍历

    图示

         

    参考代码

    bool visited[MAX];
    void DFS(MGraph G, int i)
    {
        cout << G.vexs[i] << " ";
       visited[i] = true;
    for (int j = 0; j < G.numVertex; ++j) { if (G.arc[i][j] == 1 && !visited[j]) DFS(G, j); } } void DFSTranverse(MGraph G) { for (int i = 0; i < G.numVertex; ++i) visited[i] = false; for (int i = 0 ; i < G.numVertex; ++i) //如果是连通图,只执行一次 { if (!visited[i]) DFS(G, i); } }

    广度优先遍历

    图示

         

    参考代码

    void BFSTranverse(MGraph G)
    {
        queue<int> q;
        bool visited[G.numVertex];
        for (int i = 0; i < G.numVertex; ++i)
            visited[i] = false;
        for (int i = 0; i < G.numVertex; ++i)
        {
            if (!visited[i])
            {
                cout << G.vexs[i] << " ";
                q.push(i);
                 visited[i] = true;
                 while (!q.empty())
                  {
                       int k = q.top();
                       q.pop();
                        for (int j = 0; j < G.numVertex; ++j)
                        {
                            if (G.arc[i][j] == 1 && !visitied(j))
                                {
                                    cout << G.vexs[j] << " ";
                                    visited[j] = true;
                                    q.push(j);
                                }
                         }
                    }
                }
       }//for }
  • 相关阅读:
    bzoj1568: [JSOI2008]Blue Mary开公司
    bzoj3301: [USACO2011 Feb] Cow Line
    bzoj4745: [Usaco2016 Dec]Cow Checklist
    bzoj4746: [Usaco2016 Dec]Lasers and Mirrors
    bzoj2982: combination
    bzoj1822: [JSOI2010]Frozen Nova 冷冻波
    bzoj1027: [JSOI2007]合金
    bzoj 2004
    bzoj 3110&&codevs 1616
    bzoj 2134
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/3987867.html
Copyright © 2011-2022 走看看