关闭

数据结构与算法之递推算法C++与PHP实现

发表于:2015-2-05 10:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:mengfanrong    来源:51Testing软件测试网采编

  数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的。往往是在发展一种算法的时候,构建了适合于这样的算法的数据结构。一种数据结构假设脱离了算法,也就没有存在的价值了。
  算法的作用----解决不论什么一个实际问题,都不可避免地涉及到算法的问题,通过一定的算法,得到一个最优(或较优)的方案。
  递推算法:递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。
  顺推法:从已知条件出发,逐步推算出要解决的问题的方法。
  逆推法:从已知问题的结果出发,用迭代表达式逐步推算出问题的開始的条件,即顺推法的逆过程。
  顺推实例:
  兔子生殖过程
  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++编译执行结果
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号