c_cpp 迭代DFS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 迭代DFS相关的知识,希望对你有一定的参考价值。
//https://www.geeksforgeeks.org/iterative-depth-first-traversal/
#include <iostream>
using namespace std;
int main() {
int n,m,x,y;
cin>>n>>m;
int g[n][n]= {0};
for (int i=0;i<m;i++) {
cin>> x>>y;
g[x][y]=1;
}
bool visited[n]= {0};
int dfs[n], stk[n], top=0;
stk[top]= 0;
x= 1;
y=0;
while (x++<=n) {
int s= stk[top--];
visited[s]= 1;
dfs[y++]= s;
for (int j=m-1; j>=0; j--){
if (visited[j]==0 && g[s][j]==1) {
stk[++top]=j;
}
}
}
for (int i=0; i<n; i++)
cout<< dfs[i]<< " ";
}
以上是关于c_cpp 迭代DFS的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp DFS
c_cpp DFS
c_cpp 图表的DFS
c_cpp DFS
c_cpp 克隆图dfs
c_cpp [dfs] [string]回文分区