算法没有动态编程,解决方案效率较低

时间:2012-12-27 09:50:49

标签: algorithm complexity-theory dynamic-programming

比赛中有问题。我已经用动态编程及其复杂性O(n^2)解决了这个问题。但我正在寻找效率较低的解决方案。这种低效方式的复杂性是什么?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

有一种通用方法可以降低任何动态编程解决方案的效率。动态编程的本质是存储子问题的解决方案以供重用。

为了以一种合理的方式降低效率,摆脱子问题结果存储。而是在需要时重新计算每个子问题解决方案。

答案 1 :(得分:1)

使用具有相同算法的低效数据结构可以帮助O(n^3)。将城镇存储在链表而不是数组中会使算法效率降低一个订单。

为了降低效率,更改算法更容易。例如,检查所有预兆变化组合并使用最小值,这是指数时间。