码迷,mamicode.com
首页 > 其他好文 > 详细

图的遍历(二)—广度优先遍历

时间:2015-01-30 15:59:52      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:广度优先遍历   图的遍历   bfs   最少转机   队列   

上一节中写了图的深度优先遍历,http://blog.csdn.net/wtyvhreal/article/details/43305785

这一节讲解下图的广度优先遍历。


同样的图:

技术分享

广度优先遍历的顺序结果如下:

技术分享技术分享


广度优先遍历的思想:

首先以一个未被访问过的顶点作为起始顶点,访问其所有相邻的顶点,然后对每个相邻的顶点,再访问他们相邻的未被访问过的顶点,直到所有顶点都被访问过,遍历结束。

队列遍历示意图:

技术分享技术分享


技术分享

技术分享

技术分享

技术分享


输入数据:

技术分享

运行结果:

技术分享


图的广度优先遍历应用——最少转机

技术分享

1号城市坐飞机到5号城市,希望找到一种乘坐方式,使得转机的次数最少。

技术分享


技术分享

技术分享

技术分享

技术分享


输入数据:

技术分享

运行结果:

技术分享


当然也可以用深度优先遍历解决,但是这里用广度优先遍历会更快。

广度优先遍历更加适用于所有边的权值相同的情况。

图的遍历(二)—广度优先遍历

标签:广度优先遍历   图的遍历   bfs   最少转机   队列   

原文地址:http://blog.csdn.net/wtyvhreal/article/details/43306025

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!