关于动态编程,我需要了解什么?

时间:2009-08-16 01:28:31

标签: java c++ c algorithm performance

再次开始解决UVa问题,作为一种消磨时间的方法(在6周内进入军队)。我喜欢编写Java,但最终使用的是C / C ++。这不是因为IO更快,不需要打包数据,更多内存或使用无符号,因为它的算法效率很重要。

总之,我正在慢慢构建如何/文章/代码库为不同类别的高效算法和dp是下一个。

引用马克吐温:这不是你不知道会让你陷入困境的。这就是你所知道的,但事实并非如此。

我帮助建立优先级列表必须具有高效算法

2 个答案:

答案 0 :(得分:4)

如果你已经熟悉算法,

This MIT lecture是对动态编程的一个很好的介绍。

答案 1 :(得分:2)

关于Dynamic Programming的维基百科文章有一个标题为“Algorithms that use dynamic programming”的部分,其中包含许多示例。

这是practice problems in dynamic programming的另一个好清单。

由于您引用了UVa问题列表,因此您一定要查看Problem 103 - Stacking Boxes。该问题很适合使用Longest Increasing Subsequence算法的解决方案。