zoukankan      html  css  js  c++  java
  • 图的遍历[DFS][BFS]

    #include<iostream>
    #include<iostream>
    #include<cstring>
    #include<queue>
    #include<cstdio>
    using namespace std;
    
    int m,n,maxn=0x7fffffff;
    int s[1500][1500];
    
    bool visit[1500]={false};
    queue<int>str;
    
    
    void BFS(int );
    void DFS(int );
    
    int main()
    {
        memset(s,0x7f,sizeof(s));
        cin>>n>>m;
        for(int i=0;i<m;++i)
        {
            int x,y,z;
            cin>>x>>y>>z;
            s[x][y]=z;
        }
        memset(visit,false,sizeof(visit));
        cout<<"1"<<"*****";
        BFS(1);
        cout<<endl<<"1*****";
        memset(visit,false,sizeof(visit));
        DFS(1);
    }
    
    void BFS(int sum)
    {
        cout<<"-->"<<sum;
        visit[sum]=true;
        str.push(sum);
        while(!str.empty())
        {
            int j=str.front();
                str.pop();
            for(int i=1;i<=n;++i)
            {
                if(!visit[i]&&s[j][i]!=maxn)
                {
                    cout<<"-->"<<i;
                    str.push(i);
                    visit[i]=true;
                }
            }
        }
    }
    
    void DFS(int sum)
    {
        int i;
        cout<<"-->"<<sum;
        visit[sum]=true;
        for(int i=1;i<=n;++i)
        {
            if(!visit[i]&&s[sum][i]!=maxn)
                DFS(i);
        }
    }
  • 相关阅读:
    base64模块的使用
    14-类的结构之一:属性
    13-类和对象
    12-数组的常见异常
    11-Arrays工具类的使用
    10-二维数组
    09-一维数组
    08-数组的概述
    07-流程控制
    06-运算符
  • 原文地址:https://www.cnblogs.com/qdscwyy/p/6690237.html
Copyright © 2011-2022 走看看