美文网首页
深度优先遍历(DFS)和广度优先遍历(BFS)

深度优先遍历(DFS)和广度优先遍历(BFS)

作者: 静守幸福 | 来源:发表于2022-04-06 21:18 被阅读0次

深度优先遍历

1 构造 是否遍历过数组
2 构造队列 添加未遍历过元素
3 取元素 遍历 添加未遍历元素进队列
4 全部遍历完

最后一个遍历的节点 就是最远距离

相当于 以第一个节点为根 构建树
第一次遍历 当前节点的所有节点
然后以这些节点为根 继续遍历这些节点的子节点
直到结束

如果重复了超过n次 队列仍然不空 就是有环

广度优先遍历

1构造 遍历数组 为遍历过的 标记 -1
2 选择一个未遍历过节点 找一个未遍历过的子节点
3 这个未遍历过的子节点的标记位 为父节点标记位值 +1
4 遍历完全部节点

遍历标记位数组 最大值 即为 距离该点的最远值

如果重复了超过n次 就是有环

相关文章

  • 无向图DFS和BFS

    基本结构 DFS深度优先遍历 BFS广度优先遍历 符号图

  • 算法-二叉树的遍历实现

    简述 二叉树的遍历分 DFS【深度优先遍历】 和 BFS【广度优先遍历】 两类,其中 DFS 又分为前序遍历,中序...

  • 基本数据结构

    一.图二.树 一.图 1.图的遍历: 通过深度优先遍历DFS和广度优先遍历BFS两种方式。深度优先遍历0 1 2 ...

  • BFS和DFS

    BFS:广度优先搜索 DFS:深度优先搜索 树的遍历 BFS:A B C D E F G H I DFS: A ...

  • 刷题7 剑指 Offer — DFS

    树的遍历方式总体分为两类:深度优先搜索(DFS)、广度优先搜索(BFS);常见的 DFS : 先序遍历、中序遍历、...

  • leecode岛屿数量

    题目描述可用解法DFS 深度优先遍历BFS 广度优先遍历算法思路:下列代码用BFS,循环遍历输入的二维列表如果遇到...

  • 74_图的遍历(BFS)

    关键词:MatrixGraph和ListGraph的选择方式、图的遍历概念、广度优先(BFS)、深度优先(DFS)...

  • 数据结构基础--栈和队列

    目录 基本性质 栈和队列的基本操作 双端队列和优先级队列 深度优先遍历(DFS)和广度优先遍历(BFS) 递归函数...

  • 1.5 二叉树(4)

    二叉树相关问题解题套路 广度优先遍历(BFS:Breath First Search)、深度优先遍历(DFS:De...

  • 5. 深度优先、广度优先

    1. 二叉树的深度优先遍历和广度优先遍历2. 深度优先搜索递归和非递归实现 深度优先(DFS):前序遍历 广度优先...

网友评论

      本文标题:深度优先遍历(DFS)和广度优先遍历(BFS)

      本文链接:https://www.haomeiwen.com/subject/sosdsrtx.html