DFS及BFS的算法讲解(含例题)_第1页
DFS及BFS的算法讲解(含例题)_第2页
DFS及BFS的算法讲解(含例题)_第3页
DFS及BFS的算法讲解(含例题)_第4页
DFS及BFS的算法讲解(含例题)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DFS/BFS、饼图、相关理论-图的遍历、图是一种灵活的数据结构,通常用作定义对象之间关系的模型。对象由顶点(v)表示,对象之间的关系或关联由图的边(e)表示。图可以分为有向图和无向图,一般用G=(V,E)表示。一对图图图的遍历通常用邻接矩阵或邻接表来描述,即从图中的某个顶点开始,图中的所有顶点都按照某种方法访问,并且只访问一次。为了确保图中的顶点在遍历期间只被访问一次,应该为每个顶点设置一个访问标志。通常有两种方法:深度优先搜索(DFS)和广度优先搜索(BFS),以及另一个实现三阶遍历的完整二叉树的例子。DFS的基本思想,基本步骤:1 .从图中的某个顶点v0开始,首先访问v0;2.访问节点v

2、0的第一个相邻点,将该相邻点vt作为新节点,并访问vt的所有相邻点。在访问了从vt开始的所有节点之前,返回到v0的下一个未访问的相邻节点,将该相邻节点作为新节点,并重复上述步骤。直到图中与v0通信的所有节点都被访问。3.如果此时图中仍有未访问的节点,请选择图中另一个未访问的顶点作为起点。重复深度优先搜索过程,直到访问完图中的所有节点。DFS实现,基本框架,如果(k=e)返回真,如果(K未被访问),则(P的所有相邻点)的DFS(点P)无效;马克k。DFS(k);每次递归地访问一个点,检查是否有一个与其相邻的点没有被访问过,如果有,递归地访问这个点,如果没有,返回到上一级。BFS的基本思想,基本帧

3、,队列(先进先出)通常用来初始化队列。将s标记为已访问;而(Q不是空的),取Q团队的第一个元素u;你离开团队;如果(u=目标状态)所有与u相邻且未被访问的点都进入队列;将邻近u的点标记为已访问;与两者相比,DFS类似于树的第一次根遍历,优先访问未被访问的子节点;BFS类似于树的分层遍历,它是逐层访问的,因此它适合于寻找具有目标的最短路径步骤;DFS/BFS主要用于解决连通性问题和最短路径问题。在大多数情况下,运行BFS所需的内存将大于DFS所需的内存(DFS一次访问一条道路,BFS一次访问多条道路),但DFS很容易爆炸。BFS可以通过控制排队来很好地解决排队拥挤的风险。堆叠的顺序,X星球特别注

4、重顺序,所有的道路都是单行道。一个甲壳虫车队,总共有16辆车,按照数字先后出发,陷入其他车流中,缓慢前行。路边有个死胡同,只能让一辆车通过。这是一个临时检查点,如图p1.png所示。行星X太死板了,要求每一辆经过的车都必须进入检查点,它可能会未经检查就被放行,也可能会被仔细检查。如果车辆进出检查站的顺序可以任意错开。那么,车队再次上路后可能会有什么订单?为了方便起见,假设检查站可以容纳任意数量的车辆。显然,如果团队只有一辆车,它可能是一个顺序;两辆车有两种可能的订单;三辆车可以通过五种方式订购。亲爱的,现在有16辆车了!你需要计算可能的订单数量。这是一个整数。请通过浏览器提交答案,不要填写任何

5、多余的内容(如解释性文字)。典型示例:油田p1.png,输入一个m行n列的字符矩阵,并计算字符构成的八位字节数。如果两个字符 所在的网格相邻(在八个方向上),这意味着它们属于同一个八位字节。如图所示,有两个八进制块* * * * * * * * *,典型的例子,下面的10个方块被填入,09的数字被填入。要求:两个连续的数字不能相邻。(左右、上下、对角线都是相邻的)有多少种可能的填充方案?请填写代表方案数量的整数。图的遍历,网格被分成66的网格,这些网格沿着网格的边缘被分成两部分。这两个部分需要完全相同的形状。如图所示:p1.png、p2.png和p3.png是可行的分割方法。试着计算一下:包括这三种方法,有多少种不同的分割方法?注意:旋转对称属于相同的分割方法。请提交完整的数字,不要填写任何多余的内容或解释性文字。剪邮票,例如,照片1.jpg,有12张邮票,12个生肖动物连接在一起。现在您必须删

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论