第十二周项目三-----深度优先遍历
2015-12-18 08:32
239 查看
/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:实现图遍历算法,输出如下图结构的深度优先(DFS)遍历序列 输入描述:无 输出描述:若干数据 */
#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; }
运行结果:
相关文章推荐
- 【UWP通用应用开发】使用Toast通知与动态磁贴
- 第16周上机实践项目4 - 英文单词的基数排序
- 第16周【项目4 - 英文单词的基数排序】
- 验证算法(4)快速排序
- 第10周项目1二叉树算法库
- 第十六周项目1-验证算法(3)冒泡排序
- 第十周 项目三 利用二叉树遍历思想解决问题(3)
- 第十六周 项目4 英文单词的基数排序
- 【第16周-内部排序项目1—直接插入排序】
- 第三周-项目2 - 建设“顺序表”算法库
- 快速排序
- 第十六周项目(1):验证算法7——归并排序
- 第九周实践项目三---稀疏矩阵的三元组表示的实现及应用
- 第十五周 用哈希法组织关键字
- 第十六周--期末总结
- ZZUOJ-10434: good string
- 2015-12-18 第十六周 排序(2)
- 第十五周 哈希表及其运算的实现
- 第16周项目插入排序之希尔排序
- 第十周 项目三 利用二叉树遍历思想解决问题(2)