图深度优先遍历邻接矩阵表示
2016-07-24 11:34
183 查看
#include <iostream> using namespace std; const int INF = 9999; int book[101],sum,n,e[101][101]; void dfs(int cur); int main() { int i,j,m,a,b; cin>>n>>m; //初始化二维矩阵 for(i = 1;i <= n;i++) { for(j = 1;j <= n;j++) { if(i == j) { e[i][j] = 0; } else { e[i][j] = INF; } } } //读入顶点之间的边 for(i = 1;i <= m;i++) { cin>>a>>b; e[a][b] = 1; e[b][a] = 1; } //从1号城市出发 book[1] = 1; //标记1号顶点已访问 dfs(1); //从1号顶点开始遍历 return 0; } // void dfs(int cur) { int i; cout<<cur<<" "; sum++; if(sum == n) //所有的顶点都被访问过则直接返回 { return; } for(i = 1;i <= n;i++)//找到与当前节点相连的结点 { if((e[cur][i] == 1)&&(book[i] == 0))//找到一个结点并进行深度优先遍历 { book[i] = 1; dfs(i); } } return; }
相关文章推荐
- 返回键配置退出程序
- hdu1285 确定比赛名次(拓扑排序)
- 如何实现生产者消费者模式
- python安装lxml类库(windows环境下 )
- 欢迎界面倒计时
- C++中operator<<运算符重载注意事项
- SQL 利用存储过程实现对表数据有则更新无则添加
- POJ1466
- 《计算机图形学》2.1.1 刷新式CRT
- 78. Subsets
- 特殊用法
- 使用WM_PASTE 和 WM_CHAR 消息时中文乱码总结
- LightOJ 1422 Halloween Costumes(区间dp)
- Coursera为什么喜欢Scala
- C++多态:虚函数、指针、虚函数表
- 数据驱动测试二:使用TestNG和CSV文件进行数据驱动
- Sublime Text3 添加快捷方式到右键列表
- 浅谈Java反射与代理
- IOS Dev Intro - QRCode By CIFilter
- LinkedList练习例子