刷题笔记-图-图的遍历
目录 深度优先遍历(DFS) 邻接表(DFS) 邻接矩阵(DFS) 广度优先遍历(BFS) 邻接表(BFS 无层级统计) 邻接表(BFS 含层级统计) 邻接矩阵(BFS 无层级统计) 邻接矩阵(BFS 含层级统计) 深度优先遍历(DFS) 邻接表(DFS) #include <iostream> #include <vector> using namespace std; const int maxn=10; vector<int> g[maxn]; int n,vis[maxn]; void dfs(int v, int h) { vis[v]=1; // 层级相关处理,或者对当前访问顶点的处理 for(int i=0; i<g[v].size(); i++) { if(vis[g[v][i]]==0) { dfs(g[v][i],h+1); } } } void dfs_travel() { for(int i=0; i<n; i++) { if(vis[i]==0) { dfs(i,1); //起始高度假设为1 // 统计连通分量 } } } int main(int argc,char * argv[]) { scanf("%d",&n); int a,b; for(int i=0;i<n;i++){ scanf("%d %d",&a,&b); g[a].push_back