目标

     解决两类问题:

  1. 第一类问题:从节点A出发,有前往节点B的路径吗?
  2. 第二类问题:从节点A出发,前往节点B的哪条路径最短?

注意事项

  1. 我们先用字典构建一个图模型。
  2. 你需要按加入顺序检查搜索列表中的元素,否则找到的就不是最短路径,因此搜索列表必
    须是队列。
  3. 对于检查过的元素,务必不要再去检查,否则可能导致无限循环。

流程

  1. 用字典构建图网络
  2. 将字典的第一个key对应的数组加入队列
  3. while循环,当队列不为空时,进入循环体
  4. 弹出队列中第一个元素,判断是否访问过,
  5. 没有访问过:判断是否是目标,若是返回True结束,若不是,将这个元素对应的数组加入循环体,并且将该元素标记为已经访问过。
  6. 访问过:则跳过当前循环,进入下一次循环
  7. 循环结束,证明没有找到目标,则返回false

大家如果仍有问题,欢迎一起交流,直接评论即可。freestyle!

第6章——广度优先搜索相关推荐

  1. 算法图解第六章笔记与习题(广度优先搜索)

    算法图解第六章笔记与习题(广度优先搜索) 文章目录 算法图解第六章笔记与习题(广度优先搜索) 6.1 图(graph) 6.2 广度优先搜索 6.3.1 查找最短路径 6.3.2 队列 6.4 实现图 ...

  2. 第五章:广度优先搜索

    在广度优先搜索算法中,解答树上结点的扩展是按它们在树中的层次进行的.首先生成第一层结点,同时检查目标结点是否在所生成的结点中,如果不在,则将所有的第一层结点逐一扩展,得到第二层结点,并检查第二层结点是 ...

  3. 第4章第3节-层层递进-广度优先搜索

    /*层层递进-广度优先搜索*/ #include "stdio.h" struct note {     int x;//横坐标     int y;//纵坐标     int f ...

  4. [C] 层层递进——C语言实现广度优先搜索

    以防万一有人想不开要做染色的题呢?比如我. 广度优先搜索 如何实现一个广度优先搜索 广搜(bfs)是一个层层递进的概念,与深搜的不撞南墙不回头不同,广搜更像一个感染的过程,一个点只能感染到它周边的点. ...

  5. 初识广度优先搜索与解题套路

    作者 | P.yh 来源 | 五分钟学算法 初识广度优先搜索 在讲解广度优先搜索之前,我们来看看几个常见的数据结构,链表.树.图. 先来看看其中比较简单的数据结构 - 链表,它和数组类似,也是一个线性 ...

  6. 步步为营(十六)搜索(二)BFS 广度优先搜索

    上一篇讲了DFS,那么与之相应的就是BFS.也就是 宽度优先遍历,又称广度优先搜索算法. 首先,让我们回顾一下什么是"深度": 更学术点的说法,能够看做"单位距离下,离起 ...

  7. 图解算法学习笔记(六):广度优先搜索

    目录 1)图简介 2)图是什么 3)广度优先搜索 4)实现图 5)实现算法 6)小结 本章内容; 学习使用新的数据结构图来建立网络模型: 学习广度优先搜索: 学习有向图和无向图: 学习拓扑排序,这种排 ...

  8. 深度优先搜索(DFS)与广度优先搜索(BFS)算法详解

    深度优先搜索(DFS)与广度优先搜索(BFS)详解 1.广度优先搜索算法 1.1.前言 和树的遍历类似,图的遍历也是从图中某点出发,然后按照某种方法对图中所有顶点进行访问,且仅访问一次. 但是图的遍历 ...

  9. 图的广度优先搜索--python实现

    最近在看<算法图解>,第六章中的广度优先搜索中的题目.自己实现一遍,算是做个记录吧. 关系网络图如下: 目的:找到朋友与朋友的朋友这些人中,谁是 Seller. 大体思路: 首先使用散列表 ...

最新文章

  1. 统一沟通-技巧-7-Lync 2010-配置信息-EWS未部署-增加版
  2. ajax实现简单计算器,一个简单的jQuery计算器实现了连续计算功能
  3. 正确使用stl vecotr erase函数
  4. fileupload的回调方法_jQuery File Upload文件上传插件使用详解
  5. Java中使用Observer接口和Observable类实践Observer观察者模式
  6. 基于jQuery的AJAX和JSON实现纯html数据模板
  7. oracle 数据库数据迁移解决方案
  8. 关闭浏览器网页触发事件_浅析浏览器渲染和 script 加载
  9. [转]面向对象的六大原则
  10. PHP如何获取用户IP地址
  11. 让Android虚拟手机快速启动
  12. 为什么php在网页中不显示,为什么网页显示不出php代码_后端开发
  13. python blp模型 估计_随机系数Logit模型及Stata实现
  14. 使用Sivarc使PLC程序标准化
  15. 运行pixellib出现错误
  16. redis基础命令和数据操作命令学习笔记
  17. 各种注释-注释多行与取消多行注释快捷键
  18. 第三代测序技术在微生物研究中的应用
  19. Android监听按键锁屏广播
  20. OneDrive账号被冻结如何进行解冻

热门文章

  1. 滴滴裁员补偿丰厚,员工称裁出幸福感?
  2. 百度开设「黄埔学院」,革新者来
  3. 用Python抓取某东购买记录并统计MM的bra大小
  4. AI一分钟|特斯拉股价收跌近 5%,私有化引发市场疑虑;三星发布智能音箱Galaxy Home...
  5. AI一分钟|阿里成立“罗汉堂”;vivo微信人脸识别支付下半年商用
  6. 图灵奖得主Raj Reddy:以历史的视角重新审视“人工智能”
  7. 公开课 | 腾讯云高级研发工程师:朋友圈爆款背后的计算机视觉技术与应用
  8. 神经网络到底是如何思考的?MIT精英们做了这么一个实验室来搞清楚
  9. Java 里的 for (;;) 与 while (true),哪个更快?
  10. 聊一聊 软件系统中的“热力学第二定律”