Category: 搜索

回溯法的搜索树规模的上界估计

摘要: 暴力算法怎样实现评估可不可行 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 此前我们系统了解过回溯法,并解决了很多问题,参考文章 回溯法的思想、设计与分析。回溯法其实就是一种暴力方法,因此在

回溯法最经典问题-数独

摘要: 数独的状态空间树与回溯法 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 回溯法的思想、设计与分析 中,我们系统了解了回溯法的思想。 我们知道要用回溯法解决问题,首先需要明确问题的解空

迭代加深加上各种剪枝方法

摘要: 迭代加深加各种剪枝手法,解决搜索难题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 迭代加深 中,我们详细介绍了迭代加深的思想。本文我们来解决一个艰难的问题,除了迭代加深,还需要各种

n皇后问题:同一问题构造不同的状态空间树

摘要: n 皇后问题与回溯法 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 回溯法的思想、设计与分析 中,我们系统了解了回溯法的思想。 我们知道要用回溯法解决问题,首先需要明确问题的解空间,

回溯法三种常见的状态空间树:子集树、排列树、满m叉树

摘要: 三种常见的状态空间树 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 回溯法在文章 回溯法的思想、设计与分析 中,我们系统地了解了回溯法的思想。 回溯法是一种在解空间中搜索可行解或最优解的方法

回溯法的思想、设计与分析

摘要: 回溯法基本思想 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 回溯法思想回溯法是一种在解空间中搜索可行解或最优解的方法。该方法通常将解空间看做树形结构,称为状态空间树。 搜索过程以 DFS

记忆化搜索解决DP过程有效状态值稀疏的问题

摘要: 最优子结构+重复子问题 -> 动态规划 -> 有很多对结果无影响的无效状态 -> 改为记忆化搜索 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 记忆化搜索是一种结合了搜索和动态规划的优点的算

记忆化搜索解决DP状态转移方向不好想的问题

摘要: 最优子结构+重复子问题 -> 动态规划 -> 状态转移方向不明显 -> 改为记忆化搜索 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 记忆化搜索是一种结合了搜索和动态规划的优点的算法。相应地

从递归/搜索出发到记忆化搜索

摘要: 原问题的解依赖子问题的解 -> 先写出递归算法 -> 然后发现有很多重复子问题 -> 增加记忆化 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 记忆化搜索是一种结合了搜索和动态规划的优点的算

多源BFS与多源最短路径

摘要: 力扣 1162,最基础的多源 BFS 题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 上个周日照例参加了力扣秋季赛的个人赛,在文章 2022力扣秋季赛个人赛战报 中记录的战报,并

树的遍历题目汇总

摘要: 树的遍历题目汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文总结了力扣上 2000 题以内的关于树的遍历与搜索的 73 道题。将场景相同的放到了一起。 场景上主要涉及前序遍历、中序遍

启发式搜索与记忆化搜索的对比

摘要: 启发式搜索、记忆化搜索两套方法。自定义备忘录中状态的哈希函数。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文看一个搜索题,用 DFS 和 BFS 两套方法都可以解决。 如果用 DFS,

优先级队列BFS

摘要: 基于优先级队列的 BFS 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 带权图最短路径 中我们全面学习了带权图最短路径的算法,其中 BFS 是一类非常重要的算法。但是常规的 BFS

k短路问题:AStar启发式搜索

摘要: AStar 算法经典问题:k短路 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 给定一个有向图,求 S 到 T 的最短路径长度是图算法中的基本问题,算法很多,参考文章 带权图最短路径算法与实

双向搜索

摘要: 从起点和终点同时一层一层地搜索。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在一些从起点向终点搜索的问题中,如果采用 BFS 的方式一层一层搜的话,层数越多,则每一层要搜索的就越多。 假

迭代加深

摘要: 迭代加深的思想与例题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings $1 迭代加深的思想和算法DFS 回顾DFS 的逻辑是每次选定一个分支,不断深入,直到达到递归边界才回溯。这种方法退域很多

双端队列BFS

摘要: 基于双端队列的 BFS 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 带权图最短路径 中我们全面学习了带权图最短路径的算法,其中 BFS 是一类非常重要的算法。但是常规的 BFS 只

记录搜索路径;枚举点找边和枚举边找点

摘要: 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文通过 126.单词接龙 II 主要介绍在搜索过程中如何记录搜索路径。因为有时候光搜到了还不行,还需要给出搜索到的具体路径。此外本题的枚举点

隐式图搜索的概念与例子

摘要: 隐式图搜索的概念,以单词接龙为例 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们首先介绍隐式图搜索的相关概念,然后解决一个非常经典的用 BFS 解决的隐式图搜索问题,用建图和不建图的

搜索顺序:改变搜索树的形态使得尽早剪枝

摘要: 搜索顺序 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 搜索问题中,搜索树的各个层次,各个分支之间的顺序是不定的。不同的搜索顺序会产生不同的搜索树形态。 改变搜索顺序使得尽早剪枝是搜索

常见的枚举方式

摘要: 本文梳理一下常见的枚举方式,以及对应的代码模板 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 枚举与分类讨论、找规律、按位单独处理、分别计算各元素贡献、逆向思维、惰性更新 等一样,也是一种思

树的层序遍历与BFS搜索

摘要: 树的遍历与搜索,题目清单 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings $1 基础层序遍历模板题102. 二叉树的层序遍历 算法1:队列123456789101112131415161

树的前序、中序、后序遍历与DFS搜索

摘要: 树的遍历与搜索,题目清单 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings $1 前序遍历1.1 模板题 144. 二叉树的前序遍历 递归前序遍历12345678910111213141

带压缩的额外状态的 BFS

摘要: 带压缩的额外状态的 BFS 【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:潮汐朝夕我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个比较难的 BFS 的问题。说的是我们在二维矩阵上走迷宫,其中除了常规的道路和墙,还有