图的深度优先遍历-数据结构(20)
来源:互联网 发布:淘宝开店拍照要求 编辑:程序博客网 时间:2024/06/06 14:12
一、图的深度优先遍历(点的遍历)
还是要再强调一遍,深度优先遍历的是点,是点,是点。这是一种递归的思想,对于当前的结点,如果有邻边,而且邻边的点没有被遍历则进行深度递归。
二、算法与数据结构
1、十字链表
略,参考上一节
2、深度优先遍历算法
//==========================深度优先遍历 是对点的遍历=======================bool visited[MAX_VERTEX_NUM];//递归深度优先遍历void DFS(OLGraph G, int v){//当前结点设置已经查找过visited[v] = true;printf("%c", G.xlist[v].data);//printf();//进入到下一个结点, 如果下一个结点没有被访问过则进行 递归ArcBox * arc = G.xlist[v].firstout;while (arc != NULL){//当前V这个结点有邻接点的情况 //进入深度递归int w = arc->headvex;if (visited[w] == false){//没有访问过的结点才进行深度遍历DFS(G, w);}//进入吓一跳邻边arc = arc->tlink;}}void DFSTraverse_L(OLGraph G){//初始化所有visit点for (int i = 0; i < G.vexnum; i++){visited[i] = false;}for (int i = 0; i < G.vexnum; i++){if(!visited[i]){//没有访问过结点的 进图不遍历DFS(G,i);}}}
三、操作
//用十字链表创建一个有向图P165int vexnum = 4;char *vexs = "abcd";int arcnum = 7;int maps[4][4] = {{ 0, 1, 1, 0 },{ 0, 0, 0, 0 },{ 1, 0, 0, 1 },{ 1, 1, 1, 0 },};OLGraph G;CreateDG(G,vexnum,vexs,arcnum,maps);//PrintfGraphDg(G);DFSTraverse_L(G);输出:
acdb请按任意键继续. . .
阅读全文
0 0
- 图的深度优先遍历-数据结构(20)
- 数据结构---图的广度优先遍历和深度优先遍历
- 数据结构-图的深度优先遍历(DFS)
- 【数据结构】图的遍历--深度优先搜索
- 数据结构:图的遍历--深度优先、广度优先
- 数据结构:图的遍历--深度优先、广度优先
- 【数据结构实验】图的深度优先/广度优先遍历
- 【数据结构】图的遍历方法 深度优先遍历和广度优先遍历
- 【数据结构】图的遍历方法 深度优先遍历和广度优先遍历
- 数据结构之图的的深度与广度优先遍历
- 数据结构 - 图的深度优先遍历(C++)
- 数据结构无向图的深度优先遍历
- 数据结构(C实现)------- 图的深度优先遍历
- 《大话数据结构》之图的深度优先遍历
- 第十二周--数据结构-迷宫之图的深度优先遍历
- 数据结构--图--图的数组存储表示,深度优先搜索遍历和广度优先搜索遍历
- 数据结构中的赫夫曼树编码,KMP算法,图的深度优先遍历和广度优先遍历
- 数据结构之图的深度优先遍历和广度优先遍历
- 微信小程序微信服务号开发微信公众平台开发前端开发框架
- oracle安装大杂烩
- 蓝桥杯 算法提高 学霸的迷宫 JAVA
- AOJ ALDS1_8_A: Binary Search Tree I
- 主机与虚拟机互相ping通,主机无法访问虚拟机上web项目
- 图的深度优先遍历-数据结构(20)
- wxPython之wx.DC绘制形状
- Android studio错误修复快捷建
- Linux Basics——我的Linux学习笔记(一)
- TCP状态转换
- 【软考】总结——颗粒归仓
- 关于Node.js的Post请求的实例
- bootstrap的tooltip修改样式
- 数据仓库是什么