码迷,mamicode.com
首页 > 其他好文 > 详细

动态规划VS分治策略

时间:2015-06-07 09:27:57      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

•在用分治法解决问题时,由于子问题的数目往往是问题规模的指数函数,因此对时间的消耗太大。
•动态规划的思想在于,如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,而我们能够保存已经解决的子问题的答案,在需要的时候再找出已求得的答案,这样就可以避免大量的重复计算。

由此而来的基本思路是,用一个表记录所有已解决的子问题的答案,不管该问题以后是否被用到,只要它被计算过,就将其结果填入表中

 

 

 

斐波纳斯//哈哈

 

int F(int n, int a[N])
{

    if (n==0)  return 0;
    if (n==1)  return 1;
        a1=a[n-1];
        a2=a[n-2];
        if。。。。
        //用a1和a2来代替已经算出来的结果,就能避免一定程度上的递归,用来减少计算时间和计算空间
    return  F(n-1, a)+F(n-2, a);
}

 

动态规划VS分治策略

标签:

原文地址:http://www.cnblogs.com/Tritone/p/4557668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!