
搜索回溯算法
文章平均质量分 96
余辉zmh
河南师范大学软件学院在读大二学生
展开
-
【搜索回溯算法篇】:拓宽算法视野--BFS如何解决拓扑排序问题
拓扑排序是对有向无环图(DAG, Directed Acyclic Graph)的顶点的一种排序,使得如果存在一条从顶点uuu到顶点vvv的有向边uv(u, v)uv,那么在排序中uuu出现在vvv之前。它在许多实际应用场景中有重要作用,例如任务调度(每个任务有前置任务要求)、课程安排(先修课程的顺序安排)等。原创 2025-01-31 23:25:20 · 1097 阅读 · 0 评论 -
【搜索回溯算法篇】:多源BFS--从简单BFS到多点协同,探索搜索算法的进化
多源BFS(,广度优先搜索)是BFS的一种扩展形式,用于从多个起点同时开始搜索。与传统的BFS只能从一个起点出发不同,多源BFS允许从多个起点同时进行搜索,适用于需要从多个位置同时探索的场景。在我的上一篇文章中,用关于使用BFS解决最短路问题的讲解,在这类问题中其实就可以理解为单源BFS搜索,也就是只从一个起始位置开始搜索,而本篇文章则是探讨多个起始位置的最短路问题,使用多源BFS来解。因此在学习这个模块时建议先把单源BFS解决最短路问题理解清楚,才能更好的学习多源BFS。原创 2025-01-28 16:21:39 · 786 阅读 · 0 评论 -
【搜索回溯算法】:BFS的魔力--如何使用广度优先搜索找到最短路径
题目:算法原理:广度搜索,最短路的经典例题,给定迷宫中的起始位置,找到距离出口的最近距离,也就是离开迷宫的最短路径长度。本道题就是棋盘格式,在二维数组中搜索,所以每一个位置都有上下左右四个方向可以搜索,但是不能越界,具体的搜索方式和上面图中的样例相同。代码实现:2.为高尔夫比赛砍树题目:!算法原理:因为力扣官方给的示例不是很好,没有完整的描述题目中的规则,所以这里没有展示官方示例,在下面图片中,我会先写一个示例来讲解本道题的题意,然后再写算法原理。本道题可以理解为上面的那道题的扩展,不再局限于一个起始位原创 2025-01-27 22:30:10 · 1277 阅读 · 0 评论 -
【搜索回溯算法篇】:探秘Flood Fill算法--逐题解析,轻松掌握
floodfill概念Floodfill算法,也被称为种子填充算法。它是一种在图像或网格数据结构中,从给定的起始点开始,填充与起始点相连通的区域的算法。连通性概念这里的连通性可以根据不同的规则来定义,比如四连通(上下左右四个方向相邻)或者八连通(上下左右以及四个对角方向相邻)。原创 2025-01-23 11:43:59 · 631 阅读 · 0 评论 -
【搜索回溯算法篇】:搜索无界,回溯有方--算法练习题精选解析
在学习搜索和回溯算法之前一定要学会递归的使用,下面的几道题都是使用递归来实现,如果对于递归有不理解的可以看我上一篇的文章,有关于递归的简单题讲解。接下来就是开始讲解搜索和回溯的练习题。原创 2025-01-21 11:28:35 · 1155 阅读 · 0 评论 -
【搜索回溯算法篇】:深入理解递归算法--用简单的代码解决复杂问题
递归算法是一种在程序设计和数学计算中广泛应用的算法策略。递归算法在我们学习中十分常见,比如二叉树问题中多是使用递归来解以及排序算法中的快速排序和归并排序,同样也是借助递归来实现。原创 2025-01-15 23:00:33 · 624 阅读 · 0 评论