码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-11-03 20:58:04      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:数据结构   算法   php   c++   递推算法   

数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的。往往是在发展一种算法的时候,构建了适合于这种算法的数据结构。一种数据结构如果脱离了算法,也就没有存在的价值了。
算法的作用----解决任何一个实际问题,都不可避免地涉及到算法的问题,通过一定的算法,得到一个最优(或较优)的方案。
递推算法:递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。
顺推法:从已知条件出发,逐步推算出要解决的问题的方法。
逆推法:从已知问题的结果出发,用迭代表达式逐步推算出问题的开始的条件,即顺推法的逆过程。

顺推实例:
兔子繁殖过程
bubuko.com,布布扣
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++编译运行结果
bubuko.com,布布扣

逆推实例
父亲准备为小龙的四年大学生活一次性储蓄一笔钱,使用整存零取的方式,控制小龙每月月底取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++编译运行结果
bubuko.com,布布扣


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

标签:数据结构   算法   php   c++   递推算法   

原文地址:http://blog.csdn.net/guugle2010/article/details/40747065

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