算法设计与分析基础第2版清华出版社算法分析第8章.ppt

算法设计与分析基础第2版清华出版社算法分析第8章.ppt

算法设计与分析基础第2版清华出版社算法分析第8章

动态规划(dynamic programming)是一种算法设计技术,它有着相当有趣的历史。作为一种使多阶段决策过程最优的通用方法,它是在20世纪50年代由一位卓越的美国数学家Richard Bellman所发明的。因此,这个技术名字中的“Programming”是计划和规划的意思,不是代表计算机中的编程。它作为一种重要的工具在应用数学中的价值被大家认同以后,起码在计算机科学的圈子里,人们不仅用它来解决特定类型的最忧问题,而且最终把它作为一种通用的算法设计技术来使用。在这里,我们正是从这个角度来考虑这种技术的。 如果问题是由交叠的子问题所构成的,我们就可以用动态规划技术来解决它。一般来说,这样的于问题出现在对给定问题求解的递推关系中,这个递推关系中包含了相同类型的更小子问题的解。动态规划法建议,与其对交叠的子问题一次又一次地求解,还不如对每个较小的子问题只求解一次并把结果记录在表中,这样就可以从表中得出原始问题的解 8.1 计算二项式系数 计算二项式系数是把动态规划应用于非最优化问题的一个标准例子 在二项式系数的多种特性之中,只关心两种: 当nk0时,C(n,k)=C(n-1,k-1)+C(n-1,k) 以及 C(n,0)=C(n,n)=1 为了计算c(n,k),一行接一行地填充下

文档评论(0)

1亿VIP精品文档

相关文档