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

简介: 深度优先遍历与广度优先遍历

白话理解:


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


深度优先遍历具体过程:

这里以下图为数据列

20210508160621229.png


首先选择一个未走到过的顶点作为起始的出发点,比如这里从1号顶点出发

沿1号顶点的边去尝试访问其他未走过的顶点,首先发现2号顶点没有走到过,于是来到2号顶点

再以2号顶点作为出发点,访问没有走过的顶点,走到4号点

来到4号点,发现已经不能访问没有走过的顶点了。所有需要返回到前一个顶点2号点

返回2号点发现还是没有未访问的顶点,返回1号点,从1号点开始,访问未走过的3号、5号


广度优先遍历


这里以下图为数据列:

20210508161455249.png

  1. 从起点0开始遍历
  2. 从其邻接表得到的所有的邻接节点,把这三个节点都进行标记,表示访问过了(215)
  3. 从0的邻接表第一个顶点2开始寻找新的岔路。
  4. 重复步骤2,返回到0点
  5. 接着从0的邻接表第二顶点开始寻找新的岔路
  6. 重复步骤2,直到遍历结束
相关文章
|
5月前
|
存储
第5章 图的遍历
第5章 图的遍历
|
算法
深度优先搜索
深度优先搜索
|
存储 算法
图的广度优先遍历和深度优先遍历
本文主要是学习图的广度优先遍历和图的深度优先遍历
164 1
|
Java Python
第 9 天_广度优先搜索 / 深度优先搜索
第 9 天_广度优先搜索 / 深度优先搜索
42 0
|
算法 定位技术
算法 | 广度优先遍历BFS
算法 | 广度优先遍历BFS
97 0
|
算法 PHP
广度优先搜索(BFS)
广度优先搜索(BFS)
144 0
广度优先搜索(BFS)
|
算法 前端开发 JavaScript
深度优先搜索的理解与实现
深度优先搜索的理解与实现
深度优先搜索的理解与实现
|
存储 JavaScript 算法
广度优先搜索的理解与实现
广度优先搜索的理解与实现
广度优先搜索的理解与实现