Contamos con tu ayuda para compartir nuestras secciones con relación a las ciencias de la computación.
Ejemplo: BFS en c ++
#include #include
usingnamespace std;classGraphint V;
list<int>*adj;public:Graph(int V);voidaddEdge(int v,int w);voidBFS(int s);;Graph::Graph(int V)this->V = V;
adj =new list<int>[V];voidGraph::addEdge(int v,int w)
adj[v].push_back(w);voidGraph::BFS(int s)bool*visited =newbool[V];for(int i =0; i < V; i++)
visited[i]=false;
list<int> queue;
visited[s]=true;
queue.push_back(s);
list<int>::iterator i;while(!queue.empty())
s = queue.front();
cout << s <<" ";
queue.pop_front();for(i = adj[s].begin(); i != adj[s].end();++i)if(!visited[*i])
visited[*i]=true;
queue.push_back(*i);intmain()
Graph g(4);
g.addEdge(0,1);
g.addEdge(0,2);
g.addEdge(1,2);
g.addEdge(2,0);
g.addEdge(2,3);
g.addEdge(3,3);
cout <<"Following is Breadth First Traversal "<<"(starting from vertex 2) n";
g.BFS(2);return0;
Tienes la opción de añadir valor a nuestra información asistiendo con tu experiencia en los comentarios.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)