摘要:
前面介绍了一个比较常用的算法设计技术,分治法,当碰到一个实际的问题时,看能够利用分治法解决,分治法适应于解决子问题独立且不重叠的,但是如果子问题出现重叠就不利用分治法了。这里介绍另外一种算法设计方法,动态规划,这种算法设计方法虽然基本思想和分治法很相似,划分子问题,通过子问题解决更高层的问题。但是两者明显的区别在于动态规划划分的子问题具有重叠的性质(不过独立性还是要保证的),而且一般用于解决最优化的问题~ 动态规划算法的解决步骤:1、我认为首先比较重要的还是正确的抽象化问题,然后得到问题的最优子结构。有一部分题目的描述方式完全是文字化的描述,这时就先抽象出其中的数学结构,然后根据数学结构得出. 阅读全文