贪心算法
1. 基本原理 贪心(Greedy):在每一步选择中,都选择当前状态下最优的选择,以希望通过一系列的局部最优的选择达到全局最优的结果 基本步骤: 建立数学模型来描述问题,然后将问题分成若干个子问题 对每一个子问题求局部最优解 将子问题的局部最优解合并为原问题的最优解 三种方法的比较 特性 分治策略 动态规划 贪心算法 子问题处理 独立解决 保存结果 求局部最优解 时间复杂度 ...
动态规划
介绍了动态规划的原理,并用4个典例进行了详细分析,总结过后完成经典DP问题
排序
1. 基础排序 循环不变式满足三条性质 初始:第一次迭代之前,循环不变式为真 保持:如果当次迭代前循环不变式为真,那么下次迭代前循环不变式依旧为真 终止:当循环终止时,循环不变式提供了一个有用的性质 循环不变式的意义:终止情况一定是结果情况,尝试找到一个初始情况和循环操作,使得每次迭代,保持某一段为真,并逐渐扩展该段,直到该段是整段 1.1 插入排序 原理:将每个元素都放到“比左边元素大, ...
堆
介绍了堆的数组标识,序号性质,操作,以及堆的经典例题
分治策略
介绍分治策略的核心思路,分析若干经典例题
中缀表达式计算
自定义符号函数,轻松解决中缀表达式的计算
KMP算法
从根本理解KMP算法,详细分析了最大公共前后缀长度
