《Grokking Algorithms》读书笔记
利用课余时间,我阅读了《Grokking Algorithms》这本书。这本书设计得很容易理解。 示例丰富,图文并茂,以一种让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。而且每当一个新概念被引入时,作者都会立即解释它,或者告诉读者什么时候会解释它,避免了思想上的巨大飞跃。
其中,动态规划这部分的讲解给我留下的印象比较深刻。动态规划就是把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,解决这类过程优化问题的新方法。
…
由此可见,需要在给定约束条件下优化某种指标时,动态规划很有用。问题可分解为离散子问题时,也可使用动态规划来解决。每种动态规划解决方案都涉及网格,单元格中的值通常就是你要优化的值。每个单元格都是一个子问题,因此你需要考虑如何将问题分解为子问题。