知识大全 图 - 图的遍历 - 深度优先遍历(二)

Posted

篇首语:书史足自悦,安用勤与劬。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 图 - 图的遍历 - 深度优先遍历(二)相关的知识,希望对你有一定的参考价值。

   深度优先遍历的递归算法

  ( )深度优先遍历算法

  typedef enumFALSE TRUEBoolean;//FALSE为 TRUE为

  Boolean visited[MaxVertexNum]; //访问标志向量是全局量

  void DFSTraverse(ALGraph *G)

   //深度优先遍历以邻接表表示的图G 而以邻接矩阵表示G时 算法完全与此相同

  int i;

  for(i= ;i n;i++)

  visited[i]=FALSE; //标志向量初始化

  for(i= ;i n;i++)

  if(!visited[i]) //v i 未访问过

  DFS(G i); //以v i 为源点开始DFS搜索

  //DFSTraverse

  ( )邻接表表示的深度优先搜索算法

  void DFS(ALGraph *G int i)

  //以v i 为出发点对邻接表表示的图G进行深度优先搜索

  EdgeNode *p;

  printf( visit vertex %c G >adjlist[i] vertex);//访问顶点v i

  visited[i]=TRUE; //标记v i 已访问

  p=G >adjlist[i] firstedge; //取v i 边表的头指针

  while(p)//依次搜索v i 的邻接点v j 这里j=p >adjvex

  if (!visited[p >adjvex])//若v i 尚未被访问

  DFS(G p >adjvex);//则以V j 为出发点向纵深搜索

  p=p >next; //找v i 的下一邻接点

  

  //DFS

  ( )邻接矩阵表示的深度优先搜索算法

  void DFSM(MGraph *G int i)

   //以vi为出发点对邻接矩阵表示的图G进行DFS搜索 设邻接矩阵是 l矩阵

  int j;

  printf( visit vertex %c G >vexs[i]);//访问顶点v i

  visited[i]=TRUE;

  for(j= ;j n;j++) //依次搜索v i 的邻接点

  if(G >edges[i][j]== &&!visited[j])

  DFSM(G j)//(v i v j )∈E 且v j 未访问过 故v j 为新出发点

  //DFSM

  注意

  遍历操作不会修改图G的内容 故上述算法中可将G定义为ALGraph或MGraph类型的参数 而不一定要定义为ALGraph和MGraph的

cha138/Article/program/sjjg/201311/23838

相关参考

知识大全 图 - 图的遍历 - 深度优先遍历(三)

  深度优先遍历序列  对图进行深度优先遍历时按访问顶点的先后次序得到的顶点序列称为该图的深度优先遍历序列或简称为DFS序列  ()一个图的DFS序列不一定惟一  当从某顶点x出发搜索时若x的邻接点有

知识大全 图 - 图的遍历 - 广度优先遍历 (二)

  ()邻接矩阵表示的图的广度优先搜索算法  voidBFSM(MGraph*Gintk)  以vk为源点对用邻接矩阵表示的图G进行广度优先搜索  intij;  CirQueueQ;  InitQu

知识大全 图 - 图的遍历 - 广度优先遍历 (一)

  广度优先遍历(BreadthFirstTraversal)  广度优先遍历的递归定义  设图G的初态是所有顶点均未访问过在G中任选一顶点v为源点则广度优先遍历可以定义为首先访问出发点v接着依次访问

知识大全 数据结构之深度优先遍历

图的遍历  图的遍历(TraversingGraph)从图中某一顶点出发访遍图中其余顶点且使每一个顶点仅被访问一次  图的遍历有两种方法深度优先搜索和广度优先搜索 深度优先遍历  深度优先遍

知识大全 数据结构 7.3 非连通图的遍历

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  对演示中非连通图进行深度优先搜索遍历得到顶点的访问序列为  a→c→h→d→

知识大全 数据结构之生成树

    生成树(SpanningTree)从连通图的任何一个顶点出发进行遍历遍历过程中经过的边加上图的所有顶点构成的子图称为图的生成树  深度优先生成树由深度优

知识大全 第四部分 图[5]

   (三)图的遍历    深度优先搜索    BooleanVisited[AX];  Status(*visitFunc)(intv);    VoidDFSTrav

知识大全 数据结构 7.4 图的广度优先搜索遍历的过程

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  将顶点v放在上方中央其余顶点按从v到该顶点的最短路径长度分别放在第和层上则图

知识大全 数据结构考研分类复习真题 第七章 图[49]

  .对有五个结点ABCDE的图的邻接矩阵  ().画出逻辑图  ().画出图的十字链表存储  ().基于邻接矩阵写出图的深度广度优先遍历序列  ().计算图的关键路径【华南师范大学三(分)】  .何

知识大全 数据结构考研分类复习真题 第七章 图[32]

  .设G=(VE)以邻接表存储如图所示试画出图的深度优先和广度优先生成树【北京轻工业学院八(分)】  .对一个图进行遍历可以得到不同的遍历序列那么导致得到的遍历序列不唯一的因素有哪些?【北京航空航天