1
我想要到達此樹的節點Y,但是此代碼遍歷整棵樹。我應該做些什麼來實現我的目標?如何在遍歷的每一步顯示走過的路徑?我使用深度優先搜索。 感謝您的任何幫助。深度優先搜索算法
class Graph
{
int V; // No. of vertices
list<int> *adj;
void DFSUtil(int v, bool visited[]);
public:
Graph(int V);
void addEdge(int v, int w);
void DFS(int v);
};
Graph::Graph(int V)
{
this->V = V;
adj = new list<int>[V];
}
void Graph::addEdge(int v, int w)
{
adj[v].push_back(w); // Add w to v’s list.
}
void Graph::DFSUtil(int v, bool visited[])
{
visited[v] = true;
cout << v << " ";
list<int>::iterator i;
for (i = adj[v].begin(); i != adj[v].end(); ++i)
if (!visited[*i])
DFSUtil(*i, visited);
}
void Graph::DFS(int v)
{
bool *visited = new bool[V];
for (int i = 0; i < V; i++)
visited[i] = false;
DFSUtil(v, visited);
}
int main()
{
Graph g(25);
g.addEdge(0, 1);
g.addEdge(0, 2);
//...
return 0;
}
從某人處複製作業? :( – Starl1ght
@ Starl1ght from here possible:http://www.geeksforgeeks.org/depth-first-traversal-for-a-graph/ –
「我知道如何做ABC,我該怎麼做A?」你在哪裏得到那個代碼?如果你自己寫的,答案應該是微不足道的 – user463035818