数据结构与算法之递推算法 C++与PHP实现
来源:互联网 发布:java tar.gz循环解压 编辑:程序博客网 时间:2024/06/11 04:11
数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的。往往是在发展一种算法的时候,构建了适合于这种算法的数据结构。一种数据结构如果脱离了算法,也就没有存在的价值了。
算法的作用----解决任何一个实际问题,都不可避免地涉及到算法的问题,通过一定的算法,得到一个最优(或较优)的方案。
递推算法:递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。顺推法:从已知条件出发,逐步推算出要解决的问题的方法。
逆推法:从已知问题的结果出发,用迭代表达式逐步推算出问题的开始的条件,即顺推法的逆过程。
顺推实例:
兔子繁殖过程
c++代码:
#include<iostream>int main(){ using namespace std; const int NUM = 13; int count = 0; int rabbit[NUM] = {1,1}; for (int i=0; i<NUM-2; i++) { rabbit[i+2] = rabbit[i] + rabbit[i+1]; } for (int j=0; j<NUM; j++) { cout << j << "月兔子总数: " << rabbit[j] << "只\n"; } return 0;}
php代码:
<?php $rabbit = array(); $rabbit[1] = $rabbit[0] =1; define("MONTH", 12); for ($i=2; $i<=MONTH; $i++) { $rabbit[$i] = $rabbit[$i-2] + $rabbit[$i-1]; } for ($i=0; $i<=MONTH; $i++) { echo "第 " . $i . " 月,兔子总数量为:". $rabbit[$i] . "只<br/>"; }?>
C++编译运行结果
逆推实例:
父亲准备为小龙的四年大学生活一次性储蓄一笔钱,使用整存零取的方式,控制小龙每月月底取1000元准备下月使用。假设银行整存领取的年息为1.71%,请算出父亲至少需要存入多少钱才行。c++代码:
#include<iostream>int main(){ using namespace std; const double RATE = 0.0171; double money[48]; money[47] = 1000; for (int i=47; i>0; i--) { money[i-1] = (money[i] + 1000)/(1+RATE/12); } for (int j=47; j>0; j--) { cout << "第 " << j << " 月本利合计为: " << money[j] << " 元\n"; } return 0;}
php代码:
<?php $month = array(); $month[47] = 1000; define("RATE", 0.0171); for ($i=47; $i>0; $i--) { $month[$i-1] = ($month[$i] + 1000)/(1+RATE/12); } for ($i=47; $i>0; $i--) { echo "第 " . $i . " 月本息合计为:" . $month[$i] . "元<br />"; }?>
C++编译运行结果
1 0
- 数据结构与算法之递推算法 C++与PHP实现
- 数据结构与算法之递归算法 C++和PHP实现
- 算法之---递推与递归
- 数据结构与算法分析之--->部分排序算法的实现
- 数据结构与算法之贪心算法 C++实现
- 数据结构与算法之模拟算法 C++实现
- 数据结构与算法之动态规划算法及其python实现
- 【数据结构与算法】(五) c 语言递归与汉诺塔实现
- 数据结构与算法 二分法查找【Python与C】的实现
- 数据结构与算法,c语言实现,经典算法记录之欧几里得算法,裴波那切数和动态规划。
- java数据结构与算法之双链表设计与实现
- 数据结构与算法之栈(Java与Python实现)
- java数据结构与算法之双链表设计与实现
- 数据结构与算法(C语言)<算法>
- 数据结构与算法(c++)--prim算法
- 数据结构与算法分析c++:算法分析
- 数据结构与算法分析c++:算法分析
- 由《数据结构与算法分析-C语言描述》开始的数据结构与算法学习之旅
- 10391 - Compound Words
- LeetCode Plus One
- java内部类的作用(三)----定义使用回调函数的时候比较便捷---匿名内部类(anonymous)
- |未公开的提示框能实现弹出消息自动关闭|
- 【机器学习】关联规则分析(一):Apriori
- 数据结构与算法之递推算法 C++与PHP实现
- TabHost、页签
- 获取Android的开发模式的sha1值
- 三角形判断
- 数字图像处理技术
- GCD深入理解(二)
- 反射总结
- 设置VC6为默认调试器 .
- 11.03 UIBackgroundModes