个性化阅读
专注于IT技术分析
Hi, 请登录     我要注册     找回密码

图遍历算法:广度优先搜索算法

本文概述

在本教程的这一部分中, 我们将讨论可用于遍历图形所有顶点的技术。

遍历图意味着检查图的所有节点和顶点。通过两种标准方法, 我们可以遍历图形。让我们详细讨论其中的每一个。

  • 广度优先搜索
  • 深度优先搜索

广度优先搜索(BFS)算法

广度优先搜索是一种图遍历算法, 该算法开始从根节点遍历图并探索所有相邻节点。然后, 它选择最近的节点并浏览所有未探索的节点。该算法对每个最近的节点遵循相同的过程, 直到找到目标为止。

广度优先搜索的算法如下。该算法开始于检查节点A及其所有邻居。在下一步中, 将探索A的最近节点的邻居, 然后继续执行其他步骤。该算法探索所有节点的所有邻居, 并确保每个节点仅被访问一次且没有节点被访问两次。

算法

  • 步骤1:G中每个节点的SET STATUS = 1(就绪状态)
  • 步骤2:使起始节点A入队并设置其STATUS = 2(等待状态)
  • 步骤3:重复步骤4和5, 直到QUEUE为空
  • 步骤4:使节点N出队。对其进行处理并设置其STATUS = 3(处理状态)。
  • 步骤5:将所有处于就绪状态(状态STATUS = 1)的N邻居入队, 并将其状态STATUS = 2(等待状态)设置为[END OF LOOP]
  • 步骤6:退出

考虑下图所示的图G, 计算从节点A到节点E的最小路径p。假定每个边的长度为1。

广度优先搜索算法

最小路径P可以通过应用广度优先搜索算法找到, 该算法将在节点A处开始并在E处结束。该算法使用两个队列, 即QUEUE1和QUEUE2。 QUEUE1保留所有要处理的节点, 而QUEUE2保留所有要处理并从QUEUE1删除的节点。

让我们从节点A开始检查图形。

1.将A添加到QUEUE1, 将NULL添加到QUEUE2。

QUEUE1 = {A}
QUEUE2 = {NULL}

2.从QUEUE1中删除节点A, 并插入其所有邻居。将节点A插入QUEUE2

QUEUE1 = {B, D}
QUEUE2 = {A}

3.从QUEUE1中删除节点B, 然后插入其所有邻居。将节点B插入QUEUE2。

QUEUE1 = {D, C, F} 
QUEUE2 = {A, B}

4.从队列1中删除节点D, 然后插入其所有邻居。由于F是已插入的唯一邻居, 因此我们将不再插入。将节点D插入QUEUE2。

QUEUE1 = {C, F}
QUEUE2 = { A, B, D}

5.从队列1中删除节点C, 然后插入其所有邻居。将节点C添加到QUEUE2。

QUEUE1 = {F, E, G}
QUEUE2 = {A, B, D, C}

6.从QUEUE1中删除F并添加其所有邻居。由于已经添加了它的所有邻居, 因此我们将不再添加它们。将节点F添加到QUEUE2。

QUEUE1 = {E, G}
QUEUE2 = {A, B, D, C, F}

7.从QUEUE1中删除E, 所有E的邻居都已添加到QUEUE1中, 因此我们将不再添加它们。所有节点都被访问, 并且目标节点即E遇到了QUEUE2。

QUEUE1 = {G}
QUEUE2 = {A, B, D, C, F, E}

现在, 使用QUEUE2中可用的节点从E回溯到A。

最小路径为A→B→C→E。

赞(0)
未经允许不得转载: srcmini » 图遍历算法:广度优先搜索算法

相关推荐

  •       Python __iter__()和__next__()将对象转换为迭代器
  •       毕达哥拉斯四重奏详细介绍
  •       使用reduce操作的金字塔形式(先升后降)连续数组
  •       Python检查字符串是否包含任何数字
  •       Python检查给定字符串中是否存在子字符串
  •       Python代码以单次遍历将空格移到字符串的开头
  •       Python代码按字母顺序打印两个字符串的公共字符
  •       Python字典查找字符串中的镜像字符

评论 抢沙发

评论前必须登录!

立即登录   注册

代开银行存款证明公司淄博定期存单哪家好榆林出国留学资金证明费用丹东定期存单样本天津开企业资金证明佳木斯开具出国留学资金证明焦作资信证明模板洛阳查询存款证明鸡西存款证明哪里有阳江出国留学资金证明制作曲靖银行存款证明查询临汾出国留学存款证明定制巴彦淖尔企业资金证明张掖资信证明模板济南查询定期存单宿州企业资信证明费用绵阳出国留学资金证明代做拉萨留学存款证明作用泉州企业资信证明哪里有周口资金证明长春企业资金证明代办承德留学存款证明费用哈尔滨定期存单查询漯河资金证明样本广安制作银行存款证明石家庄资信证明哪里有三门峡办理资信证明潮州银行定期存单信誉保证伊春制作留学存款证明昭通代办出国留学资金证明宜宾留学存款证明公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声汪小菲曝离婚始末卫健委通报少年有偿捐血浆16次猝死单亲妈妈陷入热恋 14岁儿子报警雅江山火三名扑火人员牺牲系谣言手机成瘾是影响睡眠质量重要因素男子被猫抓伤后确诊“猫抓病”中国拥有亿元资产的家庭达13.3万户高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了男孩8年未见母亲被告知被遗忘张家界的山上“长”满了韩国人?倪萍分享减重40斤方法许家印被限制高消费网友洛杉矶偶遇贾玲何赛飞追着代拍打小米汽车超级工厂正式揭幕男子被流浪猫绊倒 投喂者赔24万沉迷短剧的人就像掉进了杀猪盘特朗普无法缴纳4.54亿美元罚金周杰伦一审败诉网易杨倩无缘巴黎奥运专访95后高颜值猪保姆德国打算提及普京时仅用姓名西双版纳热带植物园回应蜉蝣大爆发七年后宇文玥被薅头发捞上岸房客欠租失踪 房东直发愁“重生之我在北大当嫡校长”校方回应护栏损坏小学生课间坠楼当地回应沈阳致3死车祸车主疑毒驾事业单位女子向同事水杯投不明物质路边卖淀粉肠阿姨主动出示声明书黑马情侣提车了奥巴马现身唐宁街 黑色着装引猜测老人退休金被冒领16年 金额超20万张立群任西安交通大学校长王树国卸任西安交大校长 师生送别西藏招商引资投资者子女可当地高考胖东来员工每周单休无小长假兔狲“狲大娘”因病死亡外国人感慨凌晨的中国很安全恒大被罚41.75亿到底怎么缴考生莫言也上北大硕士复试名单了专家建议不必谈骨泥色变“开封王婆”爆火:促成四五十对测试车高速逃费 小米:已补缴天水麻辣烫把捣辣椒大爷累坏了

代开银行存款证明公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化