BFS算法实现

时间:2011-10-16 12:44:12

标签: c++ graph-theory breadth-first-search

这是实现BFS方法的代码

#include<iostream>
#include<stack>
#define MAX 100

using namespace std;

queue<int> myStack;
int G[MAX][MAX];
int visit[MAX];
int V, E;


void bfs(int s) {
     int i, j, node;
     memset(visit, 0, sizeof(visit));
     myStack.push(s);

     while(!myStack.empty())
     {
          node = myStack.top();
          myStack.pop();
          if(visit[node]) continue;
          visit[node] = 1;
          cout << node << " ";

          for(i=0; i<V; i++)
               if(G[node][i]) myStack.push(i);
     }

}

int main() {
    memset(visit, 0, sizeof(visit));
    bfs(0);
    return 0;
}

我有疑问如何创建真实的图形,我的意思是输入图形并使用bfs方法做baisc bfs操作?我需要帮助用真实图形完成这个算法

0 个答案:

没有答案