0
点赞
收藏
分享

微信扫一扫

深度优先遍历与广度优先遍历

白话理解:

  1. 深度优先遍历:一路往最远的地方走
  2. 广度优先遍历:遍历向涟漪一样向外扩散

深度优先遍历具体过程:
这里以下图为数据列
深度优先遍历与广度优先遍历_邻接表

  1. 首先选择一个未走到过的顶点作为起始的出发点,比如这里从1号顶点出发
  2. 沿1号顶点的边去尝试访问其他未走过的顶点,首先发现2号顶点没有走到过,于是来到2号顶点
  3. 再以2号顶点作为出发点,访问没有走过的顶点,走到4号点
  4. 来到4号点,发现已经不能访问没有走过的顶点了。所有需要返回到前一个顶点2号点
  5. 返回2号点发现还是没有未访问的顶点,返回1号点,从1号点开始,访问未走过的3号、5号

广度优先遍历
这里以下图为数据列:
深度优先遍历与广度优先遍历_数据_02

  1. 从起点0开始遍历
  2. 从其邻接表得到的所有的邻接节点,把这三个节点都进行标记,表示访问过了(215)
  3. 从0的邻接表第一个顶点2开始寻找新的岔路。
  4. 重复步骤2,返回到0点
  5. 接着从0的邻接表第二顶点开始寻找新的岔路
  6. 重复步骤2,直到遍历结束


举报

相关推荐

0 条评论