枚举
概念
- 基于已有知识进行答案猜测的求解策略
- 对解集合中的每一项根据条件进行检验
- 不重复检验
- 很多情况下枚举意味着使用循环
- 一般性 + 完备性
分析
原子 - 局部 - 整体
- 拆分出原子操作,分析每个原子操作的影响、规律
- 确定枚举对象、范围和判定条件
- 逐一枚举可能的解并验证是否是问题的解
- 关键问题
- 给出解空间,建立简洁的数学模型,减少枚举的状态数目
- 减少搜索空间,缩小各变量取值范围,避免不必要的计算
- 合适的搜索顺序,简化过程,及早排除明确的错误答案
技巧
- 如果存在某个局部,一旦局部的状态被确定,剩余部分的状态只能是确定的一种或较少种,那么只需枚举局部状态。固定部分,确定规律
- 尽可选使用stl算法和合适的数据结构来缩减时间
- 好的排序和处理顺序非常重要
递归
概念
- 函数直接或间接的调用自

这篇博客详细介绍了算法基础,包括枚举的概念、分析和技巧,递归的定义、分析及优化方法,动态规划的性质、分析和应用,以及深度与广度优先搜索的比较和技巧。此外,还涵盖了二分查找和贪心算法的要点,以及其他实用的算法优化技巧,如剪枝和字典序存取。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



