摘要: 回溯专题其三(子集篇) 一,子集类问题解题思路 子集、组合、分割类问题的回溯框架非常相似,都能抽象为一棵树来遍历解空间。 不同点在于: 组合 / 分割问题:通常在树的 叶子节点 收集结果。 子集问题:则在树的 所有节点 收集结果,因为子集本身没有固定长度限制。 以 子集 78 为例,假设给定一个集合 阅读全文
posted @ 2025-08-31 16:35 雪痕春风天音九重色 阅读(10) 评论(0) 推荐(0)
摘要: 一、分割类问题解题思路 分割类问题的特点是: 我们需要在字符串中不断尝试放置“分割线”; 每个切分后得到的子串必须满足一定条件; 当分割线走到字符串末尾时,得到一个完整的方案。 因此,这类问题可以抽象为 在字符串中选择切割点的过程,也可以看作一类特殊的组合问题 回溯函数的核心参数通常是 当前分割线的 阅读全文
posted @ 2025-08-31 13:34 雪痕春风天音九重色 阅读(6) 评论(0) 推荐(0)
摘要: 一、回溯理论基础 回溯的概念 回溯(Backtracking)是一种搜索算法,常被称为“回溯搜索”。它本质上是 递归的副产品:在递归过程中不断尝试不同的选择,当某条路径不满足条件时,就 回退到上一步重新选择。因此,有回溯必有递归。 由于回溯法会枚举搜索空间中的所有可能路径(可通过剪枝优化减少无效搜索 阅读全文
posted @ 2025-08-31 11:47 雪痕春风天音九重色 阅读(8) 评论(0) 推荐(0)