数据结构——图 DFS遍历
来源:互联网 发布:php b2c商城 编辑:程序博客网 时间:2024/06/03 05:46
#include <stdio.h>
int a[50][50]; //邻接矩阵 int b[50]; //校验数组 用来判断当前结点是否遍历过 int m,n,i,j,s=0; void dfs(int cur); //cur代表当前结点 int main(){printf("请输入图的行m和列n的值:");scanf("%d %d",&m,&n); printf("请输入邻接矩阵:");for(i=0;i<m;i++) //对 校验数组赋初值 为0 0代表当前没遍历 1代表当前已经遍历 {b[i]=0; }for(i=0;i<m;i++) // 输入邻接矩阵 {for(j=0;j<n;j++){scanf("%d",&a[i][j]);} } b[0]=1; //代表0结点 已经遍历 dfs(0); } void dfs(int cur){int i,j;printf("%d ",cur);s++;//s代表当前遍历的结点数 if(s==m) //递归终止条件 当遍历数等于结点数 返回 {return;}else{for(i=0;i<m;i++) //i代表列 {if(a[cur][i]==1&&b[i]==0) //只有邻接矩阵为1 且未被遍历时 才能满足遍历条件 {b[i]=1; //标记当前结点已被遍历 dfs(i); //递归调用 }}}}
运行结果:
DFS 的本质是递归 递归一定要写递归的条件!!
阅读全文
0 0
- 数据结构——图 DFS遍历
- 数据结构—连通图的遍历—DFS和BFS
- 数据结构:图1(DFS遍历)
- 数据结构(15):图 深度优先遍历(DFS)
- 数据结构-图的深度遍历dfs
- 数据结构-图的深度优先遍历(DFS)
- 数据结构----图的遍历(DFS)
- 图的遍历——DFS
- 数据结构—树和二叉树-二叉树的递归遍历(DFS)
- 【数据结构】图的遍历之DFS和BFS
- 数据结构基础 图的遍历(一) 之 DFS
- 数据结构(17)--图的遍历DFS和BFS
- 数据结构之图的遍历(BFS+DFS)
- 重温数据结构——图的遍历
- 数据结构例程——图的遍历
- 数据结构——图的遍历
- 数据结构 — 图 之 广度优先遍历
- 数据结构—非连通图的遍历
- springboot整合redis缓存的小demo
- IDC机房
- zTree简单使用
- 4. Median of Two Sorted Arrays
- Linux Command Line and....ch16(控制脚本)
- 数据结构——图 DFS遍历
- RTMP流媒体技术零基础学习方法
- 移动零
- nginx代理后获取用户ip
- [Unity]怎么让skybox天空盒和主摄影机变黑
- SICP-2.3-Trees
- C# 关于控件Visible为false 却依然显示的问题
- 在python2和3共存的情况下为python3安装numpy、scipy、matplotlib
- 习题课:信号量