首页文章正文

图的非递归深度优先遍历,广度优先遍历

图的深度遍历是一个递归过程 2023-12-09 15:34 953 墨鱼
图的深度遍历是一个递归过程

图的非递归深度优先遍历,广度优先遍历

非递归图的深度优先遍历支持无向图和有向图,讲道理有向图的代码会比无向图的更容易理解,下面代码都做了兼容#include#include#include#include#include#defineMaxVertexNum10/* 最大顶点数设为10 */#defineIN

1printf(v1);//访问出发节点(v1);//出发点入栈3while(!st.empty())4{();//读取栈顶节点到temp6循环遍历temp的所有相邻节点:7{8如果(发现一个未曾访问的相邻节今天再补充一点图的相关知识,在之前的课程中,我们展示了如何使用递归的方式进行图的深度优先遍历。但是在真正垃圾回收算法中,使用的深度优先搜索是不可能使用

} printf("图建立完毕\n"); } voidDFSNonRecursion(AGraph *G,intv){ printf("图DFS开始\n"); intstack[maxSize]; inttop =-1; intvisit[maxSize]; inti, j, k首先我们就来说说深度优先遍历,其他的不说了,直接上代码,分为递归个非递归的方式啊首先是递归的方式实现的,比较简单,考虑到存储结构由邻接矩阵和邻接表,有分为两种:一种是邻接矩阵

∩△∩ 非递归深度优先遍历import .Arrays; import .Scanner; import .Stack; /** * * author : 杨丽金* time : 2018/11/13 * desc :采用深度优先遍历方式处理一个图,也就是按照深度优先搜索(Depth-FirstSearch)的方式实施整个遍历过程。假定从指定顶点v出发,深度优先遍历的做法是:首先访问

利用栈非递归实现深度优先遍历(DFS)图。先把起始顶点访问并入栈;然后每次取栈顶元素,找到一个与栈顶顶点连接并且未被访问的顶点,随即访问此顶点,并将此顶点入栈图的深度优先遍历非递归算法:#include#includeusingnamespacestd;constintMaxSize=100;classMGraph{//邻接矩阵的构建public:intadj[MaxSize][MaxSize],visited[

后台-插件-广告管理-内容页尾部广告(手机)

标签: 广度优先遍历

发表评论

评论列表

51加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号