深度优先与广度优先

article/2025/9/17 0:02:03

    深度优先遍历简称DFS(Depth First Search),广度优先遍历简称BFS(Breadth First Search),它们是遍历图当中所有顶点的两种方式。

深度优先遍历:

选取一个节点开始,沿着一条路一直走到底,然后从这条路尽头的节点回退到上一个节点,再从另一条路开始走到底…,不断递归重复此过程,直到所有的顶点都遍历完成。

实现方式:回溯(利用栈的先入后出特性)和递归遍历;

首先访问顶点0、1、7、8,这四个顶点依次入栈,此时顶点8是栈顶:
在这里插入图片描述
从顶点8退回到顶点7,顶点8出栈:
在这里插入图片描述
接下来访问顶点10,顶点10入栈:
在这里插入图片描述
从顶点10退到顶点7,从顶点7退到顶点1,顶点10和顶点7出栈:
在这里插入图片描述
探索顶点9,顶点9入栈:
在这里插入图片描述

以此类推,利用这样一个临时栈来实现回溯,最终遍历完所有顶点。 

广度优先遍历:

从图的一个未遍历的节点出发,先遍历这个节点的相邻节点,再依次遍历每个相邻节点的相邻节点

按照广度优先遍历的思想,我们首先遍历顶点0,然后遍历了邻近顶点1、2、3、4:

在这里插入图片描述
接下来我们要遍历更外围的顶点,可是如何找到这些更外围的顶点呢?我们需要把刚才遍历过的顶点1、2、3、4按顺序重新回顾一遍,从顶点1发现邻近的顶点7、9;从顶点3发现邻近的顶点5、6。

 在这里插入图片描述

像这样把遍历过的顶点按照之前的遍历顺序重新回顾,就叫做重放。同样的,要实现重放也需要额外的存储空间,可以利用队列的先入先出特性来实现。

下面我们来演示一下具体实现过程。
首先遍历起点顶点0,顶点0入队:

在这里插入图片描述

 接下来顶点0出队,遍历顶点0的邻近顶点1、2、3、4,并且把它们入队:

在这里插入图片描述

 然后顶点1出队,遍历顶点1的邻近顶点7、9,并且把它们入队:

在这里插入图片描述

然后顶点2出队,没有新的顶点可入队:

在这里插入图片描述

以此类推,利用这样一个队列来实现重放,最终遍历完所有顶点。

 参考资料:

(25条消息) 深度优先遍历和广度优先遍历_a2217018103的博客-CSDN博客_广度优先遍历和深度优先遍历https://blog.csdn.net/a2217018103/article/details/90678830

算法:深度优先遍历和广度优先遍历_OceanStar的学习笔记的博客-CSDN博客_深度优先遍历和广度优先遍历什么是深度、广度优先遍历深度优先遍历简称DFS(Depth First Search),广度优先遍历简称BFS(Breadth First Search),它们是遍历图当中所有顶点的两种方式。这两种遍历方式有什么不同呢?举个例子。我们来到一个游乐场,游乐场里有11个景点。我们从景点0开始,要玩遍游乐场的所有景点,可以有什么样的游玩次序呢?第一种是一头扎到底的玩法。我们选择一条支路,尽可能不断地深入,如果遇到死路就往回退,回退过程中如果遇到没探索过的支路,就进入该支路继续深入。在图中,我们首先选择https://blog.csdn.net/zhizhengguan/article/details/122468043 


http://chatgpt.dhexx.cn/article/EY7lI8Vj.shtml

相关文章

深度优先遍历(DFS)和广度优先遍历(BFS)

深度优先遍历(DFS)和广度优先遍历(BFS) 图的遍历:所谓遍历,即是对结点的访问。一个图有多个结点,如何遍历这些结点,有两种访问策略: 深度优先遍历(Depth First Search, …

深度优先与广度优先的区别!

从深度优先和广度优先两个角度解决同一个问题 题目 从一号顶点开始遍历这个图,使用深度优先搜索和广度优先搜索的2种遍历结果 深度优先遍历的主要思想就是,首先以一个未被访问过的顶点作为起始顶点,沿着当前顶点的边走到未访问过的顶点&…

数据结构:图的遍历--深度优先、广度优先

图的遍历:深度优先、广度优先 遍历 图的遍历是指从图中的某一顶点出发,按照一定的策略访问图中的每一个顶点。当然,每个顶点有且只能被访问一次。 在图的遍历中,深度优先和广度优先是最常使用的两种遍历方式。这两种遍历方式对无…

深度优先搜索与广度优先搜索

算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构的。这是因为,图这种数据结构的表达能力很强,大部分涉及搜索的场景都可以抽象成“图”。 图上的搜索算法,最直接的理解就是&#…

广度优先搜索和深度优先搜索

文章目录 1. 前言2. 广度优先搜索和深度优先搜索1)深度优先搜索2)广度优先搜索 3. 深度优先搜索算法框架1)二叉树深度优先搜索模板2)图深度优先搜索模板3)二维矩阵深度优先搜索模板 4. 广度优先搜索算法框架1&#xff…

深度优先和广度优先算法

1、深度优先算法 遍历规则:不断地沿着顶点的深度方向遍历。顶点的深度方向是指它的邻接点方向。 最后得出的结果为:ABDECFHG。 Python代码实现的伪代码如下: 2、广度优先算法: 遍历规则: 1)先访问完当…

深度优先搜索(DFS)和广度优先搜索(BFS)

代码随想录 深度优先搜索和广度优先搜索,都是图形搜索算法,它两相似,又却不同,在应用上也被用到不同的地方。这里拿一起讨论,方便比较。 先给大家说一下两者大概的区别: 如果搜索是以接近起始状态的程序依次…

算法:深度优先和广度优先(DFS,BFS)

一丶深度优先(DFS) 深度优先顾名思义: 就是往深的地方优先查找或遍历。 如图二叉树,想遍历树中所有结点可以用中序遍历,前序或后序。如果某一结点还有子结点就会往深处就是往下一结点,一直遍历直到最后一个结点没有子…

【算法】深度优先和广度优先

本文只是总结的相关概念,仅供自己复习,严禁转载,文末附有本文内容涉及的文章链接,请点开链接查看原文! (一)深度优先 深度优先搜索属于图算法的一种,是一个针对图和树的遍历算法&am…

算法:深度优先遍历和广度优先遍历

什么是深度、广度优先遍历 图的遍历是指,从给定图中任意指定的顶点(称为初始点)出发,按照某种搜索方法沿着图的边访问图中的所有顶点,使每个顶点仅被访问一次,这个过程称为图的遍历。遍历过程中得到的顶点…

ms17010利用失败解决一则

没有反弹得到session并且提示如下: [-] 10.0.131.2:445 - Service failed to start, ERROR_CODE: 216 换了一个payload set payload windows/meterpreter/reverse_tcp set payload windows/x64/meterpreter/bind_tcp 就可以了。 如果遇到Unable to continue with i…

永恒之蓝MS17010复现

MS17010复现 靶机win7:192.168.41.150 攻击kali: 192.168.41.147 扫描 通过auxiliary/scanner/smb/smb_ms17_010模块扫描虚拟机是否存在ms17010漏洞 存在 拿shell 通过exploit/windows/smb/ms17_010_eternalblue 直接exp打,设置好参数和payload,window…

MS17010(永恒之蓝)漏洞利用与复现

MS17010(永恒之蓝)漏洞利用与复现 0X00简介 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统…

网安学习记录1 ms17010漏洞

使用nmap对win7进行端口扫描 进行ms17-010漏洞利用

ms17010漏洞复现-2003

先使用Smbtouch模块检测一下是否有漏洞。 然后使用Doublepulsar写一个shellcode到本地。 生成成功后的截图: 再使用EternalRomance植入Doublepulsar后门。 成功的截图: PS:仿佛是由于之前已经上传过bin的缘故,第二次测试的时候失败了。但是不…

微软永恒之蓝ms17010补丁下载-wannacry

勒索病毒爆发:上百国家遭"感染",Windows勒索病毒恐怖蔓延!勒索病毒,掀起了全球上百个国家、数十亿用户对网络安全的恐慌,微软推出的永恒之蓝ms17010补丁下载专为勒索病毒专杀而设计,同时推出的勒索病毒文件恢复软件是大家得力的勒索病毒文件恢复助手!http://www.cata…

永恒之蓝漏洞自查-MS17010漏洞自查与修复

MS17010漏洞时间线回溯 2017-03-12,微软发布MS17-010补丁包2017-03-14,微软发布《MS17-010:Windows SMB 服务器安全更新说明》 https://support.microsoft.com/zh-cn/help/4012598/title2017-04-14,Shadowbroker发布漏洞利用工具…

ms17010复现

关于漏洞的复现干多了就发现,这种菜鸟级别的复现,,真是没有啥实用性,主要就是,自己玩玩,,,唉,, ms17_010,好像跟什么永恒之蓝,勒索病毒有啥关系。…

ms17010漏洞利用(主机漏洞利用)

攻击机:kali ip:192.168.248.129 靶机:win7 x64 enterprise ip: 192.168.248.130 启动msf, Msfconsole search ms 检查msf库里是否存在ms17-010漏洞 Nmap检测靶机开放端口:nmap –sV 192.168.248.130 445端口开放&#xff0c…

永恒之蓝(MS17010)漏洞kali使用MSF进行漏洞复现

永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。 恶意代码会扫描开放445文件共享端…