小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
Python中的图算法:广度优先搜索、深度优先搜索及其他

图算法在计算机科学中至关重要,广泛应用于社交网络和交通系统。本文介绍了图的基本概念、表示方法及遍历技术,包括广度优先搜索(BFS)和深度优先搜索(DFS),以及Dijkstra、A*、Kruskal、Prim和Bellman-Ford等算法,主要用于路径查找和最小生成树的生成。

Python中的图算法:广度优先搜索、深度优先搜索及其他

freeCodeCamp.org
freeCodeCamp.org · 2025-09-03T16:25:04Z
钥匙与房间

给定从0到n-1的房间,只有房间0是解锁的。目标是检查是否能访问所有房间。使用广度优先搜索(BFS)和队列遍历房间,标记已访问的房间。如果所有房间都被访问,返回true;否则返回false。时间复杂度为O(N + E),空间复杂度为O(N)。

钥匙与房间

DEV Community
DEV Community · 2025-05-07T12:52:48Z
二叉树的垂直遍历。314. 二叉树的垂直顺序遍历。

给定一个二叉树,使用广度优先搜索(BFS)按列垂直遍历,记录每个节点的列号,并通过哈希表存储列号与节点值的映射,最后转换为列表。时间复杂度为O(N),空间复杂度为O(N)。

二叉树的垂直遍历。314. 二叉树的垂直顺序遍历。

DEV Community
DEV Community · 2025-05-01T09:28:59Z
Fortune's Foundation 解法器

本文讨论了通过代码解决纸牌游戏“Fortune’s Foundation”的过程。作者尝试使用广度优先搜索(BFS)探索游戏状态,但由于有效移动数量庞大,导致内存不足。随后,作者采用启发式方法对状态进行排序,并进行了多次优化,最终实现了一个互动解决方案,允许用户逐步查看解决过程并进行游戏。

Fortune's Foundation 解法器

Josherich的博客
Josherich的博客 · 2025-04-27T00:00:01Z
深度优先搜索

广度优先搜索(BFS)逐层探索无权图的最短路径;深度优先搜索(DFS)深入每条路径,适合完整路径探索和循环检测。DFS通过递归或栈实现,先访问节点,再深入未访问的邻居,直到回溯。

深度优先搜索

DEV Community
DEV Community · 2025-04-25T04:11:22Z
🌳 像专家一样遍历二叉树:深度优先搜索与广度优先搜索的视觉解析

本文介绍了二叉树的遍历方法,包括深度优先搜索(DFS)和广度优先搜索(BFS)。DFS有中序、前序和后序三种方式,适用于不同场景;BFS则逐层访问节点,适合寻找最短路径。这些遍历方法对树的操作至关重要。

🌳 像专家一样遍历二叉树:深度优先搜索与广度优先搜索的视觉解析

DEV Community
DEV Community · 2025-04-14T15:53:45Z

本文介绍了子集算法模式,利用广度优先搜索解决排列组合问题,特别是处理重复元素的情况。提供了寻找数字组合的示例及代码实现。

算法模式:子集

"地瓜哥"博客网
"地瓜哥"博客网 · 2025-04-10T03:38:25Z
连通分量

在图论中,连通分量是指节点之间存在路径的节点组。以社交网络为例,连通分量类似于彼此认识的人群。文章通过“岛屿数量”问题展示如何计算连通的陆地组,使用广度优先搜索(BFS)算法遍历网格。

连通分量

DEV Community
DEV Community · 2025-04-05T09:46:08Z

广度优先搜索适用于树和图,也可用于矩阵问题。通过队列按层遍历二叉树,逐层打印节点。示例代码展示了层序遍历的实现。

算法模式:广度优先搜索

"地瓜哥"博客网
"地瓜哥"博客网 · 2025-03-30T23:31:39Z
在Java中翻转二叉树

二叉树翻转是编程面试中的常见问题,要求交换每个节点的左右子树。可以通过广度优先搜索(BFS)或深度优先搜索(DFS)来实现,时间复杂度为O(n),空间复杂度为O(w)。此问题有助于理解树的遍历与操作。

在Java中翻转二叉树

DEV Community
DEV Community · 2025-03-15T02:35:04Z
子程序:面试问题调查

本文介绍了字符串回文检查算法及其应用,包括字符串清理、处理最多一个字符缺失的情况,以及深度优先搜索和广度优先搜索在查找岛屿数量中的应用。此外,还探讨了通过引入二元运算符解决特定目标的表达式生成问题。

子程序:面试问题调查

DEV Community
DEV Community · 2025-02-28T20:46:31Z
深度优先遍历

二叉树的深度优先遍历有前序、中序和后序三种方式。DFS从根节点开始,优先访问左子树,再访问右子树。它基于递归和回溯,通常使用邻接表存储图,适用于查找连通分量和路径。与广度优先搜索(BFS)不同,DFS是深度优先的。

深度优先遍历

DEV Community
DEV Community · 2025-02-28T00:31:28Z
树:面试问题调查

树的遍历方法主要有深度优先搜索和广度优先搜索。广度优先搜索适合调试,而深度优先搜索用于递归。这两种方法是解决许多问题的基础。

树:面试问题调查

DEV Community
DEV Community · 2025-02-26T22:14:36Z
DOM 问题 #4

本文讨论如何找到给定DOM元素的所有兄弟节点。通过广度优先搜索(BFS)算法进行层次遍历,返回同层节点。若只需返回直接兄弟节点,可通过获取父节点并过滤目标节点实现。

DOM 问题 #4

DEV Community
DEV Community · 2025-02-21T17:44:24Z
理解广度优先搜索算法(BFS)

广度优先搜索(BFS)是一种高效的图路径探索算法,能够找到两点间的最短路径。它通过队列和集合管理访问节点,避免重复访问,广泛应用于社交网络、地图导航和游戏AI等领域。

理解广度优先搜索算法(BFS)

DEV Community
DEV Community · 2025-02-04T00:25:38Z
542. 01 矩阵

给定一个 m x n 的二进制矩阵,使用多源广度优先搜索(BFS)从所有 0 单元格出发,计算每个单元格到最近 0 的距离,时间复杂度为 O(m × n)。

542. 01 矩阵

DEV Community
DEV Community · 2025-01-22T18:06:42Z
515. 每层树行中的最大值

给定一棵二叉树的根节点,使用广度优先搜索(BFS)逐层遍历,返回每层的最大值数组。时间复杂度为O(n),空间复杂度为O(w),其中w为树的最大宽度。

515. 每层树行中的最大值

DEV Community
DEV Community · 2024-12-26T01:00:10Z
找到每一行中的最大值

本文讨论了如何使用广度优先搜索(BFS)逐行遍历二叉树,找到每一行的最大值并返回结果。

找到每一行中的最大值

DEV Community
DEV Community · 2024-12-25T16:50:47Z
理解图搜索算法:深度优先搜索与广度优先搜索

图搜索算法是解决网络路由和图遍历问题的基础。深度优先搜索(DFS)通过递归或栈深入探索分支,适合路径查找和循环检测;广度优先搜索(BFS)逐层访问,适合寻找无权图的最短路径。选择DFS或BFS取决于具体问题,理解其特性有助于优化解决方案。

理解图搜索算法:深度优先搜索与广度优先搜索

DEV Community
DEV Community · 2024-12-20T21:44:05Z
773. 滑动拼图

在一个2x3的滑动拼图中,有5个数字和一个空格。目标是通过交换空格与相邻数字,达到状态[[1,2,3],[4,5,0]]。使用广度优先搜索(BFS)算法探索所有可能的配置,返回最少移动次数,若无法解决则返回-1。

773. 滑动拼图

DEV Community
DEV Community · 2024-11-25T01:52:27Z
  • <<
  • <
  • 1 (current)
  • 2
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码