第12周项目3图遍历算法的实现
2015-12-14 16:52
381 查看
函数:
实现:
#include <stdio.h> #include <malloc.h> #include "graph.h" int visited[MAXV]; void DFS(ALGraph *G, int v) { ArcNode *p; int w; visited[v]=1; printf("%d ", v); p=G->adjlist[v].firstarc; while (p!=NULL) { w=p->adjvex; if (visited[w]==0) DFS(G,w); p=p->nextarc; } } int main() { int i; ALGraph *G; int A[5][5]= { {0,1,0,1,0}, {1,0,1,0,0}, {0,1,0,1,1}, {1,0,1,0,1}, {0,0,1,1,0} }; ArrayToList(A[0], 5, G); for(i=0; i<MAXV; i++) visited[i]=0; printf(" 由2开始深度遍历:"); DFS(G, 2); printf("\n"); for(i=0; i<MAXV; i++) visited[i]=0; printf(" 由0开始深度遍历:"); DFS(G, 0); printf("\n"); return 0; }
实现:
相关文章推荐
- Windows2008 64位系统asp连接access数据库解决方法
- 双边滤波器的原理及实现
- iOS恢复固件的方法
- Content Provider应用实例
- php gd库
- 宏
- php数组函数-array_reduce()
- Fragment与FragmentPagerAdapter的使用
- 第十三周项目5
- 第十四周 折半查找
- 第十六周--大数据集上排序算法性能的体验
- 第十六周 项目1.3- 验证算法
- 第十六周项目1-直接选择排序
- iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决
- Git与Github折腾记-常用命令汇总
- Python基本内置数据类型有哪些?
- 第十四周-二叉排序树
- 第16周 项目1 - 验证算法
- 第十五周 项目1 冒泡排序
- 第14周项目3-是否二叉排序树