递归优化策略(数组存储)
优化
原因:有重复计算
解决方案:用数组记录下一些会重复用到的数据,方便直接调用
eg(虽然此题不适用)
long long pell(int m){ if(m==1){ return 1; }else if(m==2){ return 2; }else if(a[m]!=0)//判断是否算过 { return a[m];//算过的话直接调用 }else { a[m]=2*pell(m-1)+pell(m-2) ;//否则再进行运算 return a[m]; } }
优化
原因:有重复计算
解决方案:用数组记录下一些会重复用到的数据,方便直接调用
eg(虽然此题不适用)
long long pell(int m){ if(m==1){ return 1; }else if(m==2){ return 2; }else if(a[m]!=0)//判断是否算过 { return a[m];//算过的话直接调用 }else { a[m]=2*pell(m-1)+pell(m-2) ;//否则再进行运算 return a[m]; } }