第11周项目3-图遍历算法实现(深度优先DFS)
来源:互联网 发布:c语言能做什么项目 编辑:程序博客网 时间:2024/06/05 09:05
- /*
- *Copyright(c)2017,烟台大学计算机学院
- *All right reserved.
- *文件名:sk.cpp btree.h btree.cpp
- *作者:盛凯
- *完成日期:2017年12月14日
- *版本号:v1.0
- *
- *问题描述:图遍历算法实现
- *输入描述:无
- *程序输出:见运行结果
- sk.cpp:
- #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;
} - 程序运行结果如图所示:
- 反思总结:图的深度优先占内存较少但是速度较慢。
阅读全文
0 0
- 第11周项目3-图遍历算法实现(深度优先DFS)
- 第12周项目3-(1)图遍历算法实现、实现深度优先遍历—DFS
- 第12周—项目3(1) 图遍历算法—实现深度优先遍历——DFS
- 第十二周项目3--图遍历算法实现--实现深度优先遍历--DFS
- 第十二周项目三 图遍历算法实现——深度优先(DFS)遍历
- 第12周项目3图深度优先遍历算法实现
- 第十二周项目(3):图遍历算法实现——深度优先遍历
- 第十二周项目3-图遍历算法实现(1-深度优先遍历)
- 第11周项目3-图遍历算法实现(广度优先BFS)
- 【算法导论】图的深度优先搜索遍历(DFS)
- 算法学习:图的深度优先遍历(DFS)
- 如何实现深度优先遍历(DFS)
- 第12周上机实践项目3 - 图遍历算法实现(DFS)
- 第十一周项目3 — 图遍历算法实现 (1)深度优先遍历
- 第十一周项目三 图遍历算法的实现(1)深度优先遍历
- 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)
- 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)
- 图 深度优先遍历(DFS)
- Retrofit源码解读(五)--okhttpCall和adapt方法
- 全息投影技术简介
- django框架连接mysql数据配置
- CentOS6.5中安装tomcat
- Android View的事件分发机制笔记
- 第11周项目3-图遍历算法实现(深度优先DFS)
- 基于Spring task注解方式配置任务
- 吴恩达 深度学习 Class1 课程总结及编程实践
- 第八周 【项目2
- Retrofit源码解读(六)--Retrofit中的设计模式
- FPGA1214学习
- HDU 2064 汉诺塔III (递归)
- 第十五周内部排序(2)项目1---(6)堆排序
- Thread的run()与start()的区别