动态规划
from 算法导论(CLRS)
动态规划算法通常用于求解最优值,一般步骤如下:
- 刻画最优解结构
- 递归地定义最优解的值
- 自底向上计算最优解的值
- 利用计算出的信息构造最优解(构造解本身,可选)
design yourself
from 算法导论(CLRS)
分治策略中,我们递归地求解一个问题,在每层递归中应用如下三个步骤:
递归式与分治法是紧密相关的,使用递归式可以很自然地刻画分治算法的运行时间。一个递归式就是一个等式或不等式,它通过更小的输入上的函数值来描述一个 函数,例如:
本章将介绍三种求解递归式的方法:
在声明、求解递归式时,我们常常忽略向下取整、向上取整及边界条件等细节。
learn from cyc2018 and LeetCode
利用随机化快速排序的 RANDOMIZED_PARTITION 求解 Kth Element 问题。参考材料:CLRS笔记:快速排序