实用算法的分析与程序设计——递推法(顺推法)包含实例,代码
2015-05-07 19:19
471 查看
顺推法即由边界条件出发,通过递推关系式推出后项值,再由后项值按递推关系式推出再后项值。。。依次递推,直至从问题初始陈述向前推进到这个问题的解为止。
实例
代码
#include<iostream> #include<stdlib.h> using namespace std; const int maxN = 60 ; int N = 4 ,d = 2 , m = 3; float a1 = 2 ,an = 5; void input() { cout<<"input data N,d,a1,an,m"<<endl; cin>>N>>d>>a1>>an>>m; if( N > maxN ) { cout<<"input error"<<endl; return ; } if( N > m ) { cout<<" m is too large "<<endl; return ; } if( m < 0 ) { cout<<"m must be a positive data."<<endl; return; } } //计算am与a1之间的关系s //a[i] = s[m][0]*a[2] + s[i][1]*d + s[i][2]*a1 //a2 = ( an - s[N-1][1] * d - s[N-1][2] * a1 ) / s[N-1][0] void calculate_s(float **s ,float *list) { s[0][0] = 0; s[0][1] = 0; s[0][2] = 1; s[1][0] = 1; s[1][1] = 0; s[1][2] = 0; for(int i = 2 ; i < N ; i++ ) { s[i][0] = s[i-2][0] - 2 * s[i-1][0]; s[i][1] = s[i-2][1] - 2 * s[i-1][1] + 2; s[i][2] = s[i-2][2] - 2 * s[i-1][2]; } list[0] = a1; list[1] = ( an - s[N-1][1] * d - s[N-1][2] * a1 ) / s[N-1][0] ; for(int j = 2 ; j < N ; j++ ) { list[j] = list[j-2] - 2*list[j-1] +2 * d; } } //输出最后的结果 void out(float **s ,float *list) { int i; for(i = 0 ;i < N ; i++ ) { cout<<s[i][0]<<" "<<s[i][1]<<" "<<s[i][2]<<" "<<endl; } cout<<"data........"<<endl; for(i = 0 ;i < N ; i++ ) { cout<<list[i]<<" "; } cout<<endl; } int main() { //input(); //s[i][0]表示p s[i][1]表示q s[i][2]表示r float **s = (float **)malloc(sizeof(float*) * N); for(int ii = 0 ; ii < N ; ii++ ) s[ii] = (float *)malloc(sizeof(float) * 3); float *list = (float *)malloc( sizeof(float) * N ); calculate_s(s , list ); out( s , list ); cout<<"\nthe result of "<<m<<" data is:"; cout<<list[m-1]<<endl; return 0; }
相关文章推荐
- 实用算法的分析与程序设计——递推法(倒推法)
- JavaScript程序设计高级算法之动态规划实例分析
- Adaboost算法原理分析和实例+代码
- OD调试9—实例:深入分析代码完成软件破解
- Ajax的简单实用实例代码
- 用js实现简单算法的实例代码
- php和数据库结合的一个简单的web实例 代码分析 (php初学者)
- 高通sensor架构实例分析之二(驱动代码结构)
- 一串首尾相连的珠子(m个),有N种颜色(N《=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度
- 算法 最近对问题完整代码分析
- PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
- 《Java & Ruby 代码分析系列》之基本的类实例对比
- LLVM学习笔记-代码实例HowToUseJIT 分析(一)
- KMP算法之NEXT数组代码原理分析 - 数据结构和算法38
- 换零钱算法分析及代码示例
- 一组PHP可逆加密解密算法实例代码
- 第四篇:决策树分类算法原理分析与代码实现
- 多种排序算法性能分析代码 C++
- U-BOOT中start.s包含S3C2440代码分析(转)
- matlab绘制实用日历实例代码