算法笔记(广度优先搜索)

  • 广度优先搜索指出是否有从 A 到 B 的路径。

  • 如果有,广度优先搜索将找出最短路径。

  • 面临类似于寻找最短路径的问题时,可尝试使用图来建立模型,再使用广度优先搜索来解决问题。

  • 有向图中的边为箭头,箭头的方向指定了关系的方向,例如,rama→adit 表示 rama 欠 adit 钱。

  • 无向图中的边不带箭头,其中的关系是双向的,例如,ross - rachel 表示“ross 与 rachel 约会,而 rachel 也与 ross 约会”。

  • 队列是先进先出(FIFO)的。

  • 栈是后进先出(LIFO)的。

  • 你需要按加入顺序检查搜索列表中的人,否则找到的就不是最短路径,因此搜索列表必须是队列。

  • 对于检查过的人,务必不要再去检查,否则可能导致无限循环。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!