算法之递归系列一

原创 2004年03月29日 10:23:00

题目:

1、计算<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />CSDN_Dev_Image_2004-3-261903110.wmz(分治法)

问题描述

对于给定的n,要求在O(n)步内计算出 CSDN_Dev_Image_2004-3-261903112.wmz,同时分析该程序的时间复杂性和空间复杂性。

 

 

输入:要计算的n,

输出: CSDN_Dev_Image_2004-3-261903112.wmz

思想:

1.  用普通算法实现计算量为 CSDN_Dev_Image_2004-3-261903116.wmz数量级;

2.  用分治法实现算法为O(n)级的

分治法具体实现:

利用函数:

F(n)= CSDN_Dev_Image_2004-3-261903118.wmz

 

 

 

程序

 

 

 

 

 

 

//*************************************************************************************
//对于给定的n,要求在O(n)步内计算出2的2的n次幂 ,同时分析该程序的时间复杂性和空间复杂性。
//利用分治法解题
//author:dongkaiying
//use the common method ,we can find that if we use 'double ',the 'n' can only be the
//region lower than 9; so we must find a better method to reduce the complexity of the
//method.We use the "fenzhifa" we called.
//*************************************************************************************
#include<iostream.h>
#include<stdio.h>
double common_M(int n);
double FenZhi_M(int n);
void main()
{
 cout<<"Please enter the 'n' you need:"<<endl;
 int n;
 cin>>n;
 //use the easiest method to compute the value;
    double j=common_M(n);
 cout<<"Use the common method to compute the value is:"<<j<<endl;
 double m=FenZhi_M(n);
 cout<<"Use another common method to compute the value is:"<<m<<endl;
 return;
}
//this method's complexity .:2's n cimi
double common_M(int n)
{
 double result=1;
 double result_1=1;
 for(int x=1;x<=n;x++)
 {
  result*=2;
 }
 for(x=1;x<=result;x++)
 {
  result_1*=2;
 }
 return result_1;
}


//use the digui method;
double  FenZhi_M(int n)
{
 if(n==1)
  return 4;
 else
  return  FenZhi_M(n-1)*FenZhi_M(n-1);
 
}

 

 

 

经典算法系列之(一) - BitMap [数据的压缩存储]

一、问题引入 BitMap从字面的意思,很多人认为是位图,其实准确的来说,翻译成基于位的映射,怎么理解呢? 举一个例子,有一个无序有界int数组{1,2,5,7},初步估计占用内存44=1...
  • lxlmycsdnfree
  • lxlmycsdnfree
  • 2017年12月28日 21:10
  • 43

集成算法系列之GBM

http://baijiahao.baidu.com/s?id=1570175598042474&wfr=spider&for=pc 一、GBM简介 GBM全称为Gradient Boosti...
  • zhaoyuxia517
  • zhaoyuxia517
  • 2017年12月07日 10:20
  • 222

POSIX线程-Per-Thread Storage

说到per-thread storage,先要谈谈函数的线程安全thread-safety。通常我们把一个能被多个线程同时访问,且函数输出数据不会因为线程访问顺序的不同而不同的函数叫做线程安全的函数。...
  • huangyimo
  • huangyimo
  • 2015年07月04日 16:52
  • 325

算符优先系列之(一)Firstvt和Lastvt集 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Descri

算符优先系列之(一)Firstvt和Lastvt集 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem ...
  • huantonglei
  • huantonglei
  • 2017年12月07日 10:47
  • 194

递归算法学习系列之八皇后问题

1.引子    中国有一句古话,叫做“不撞南墙不回头",生动的说明了一个人的固执,有点贬义,但是在软件编程中,这种思路确是一种解决问题最简单的算法,它通过一种类似于蛮干的思路,一步一步地往前走,...
  • GarfieldEr007
  • GarfieldEr007
  • 2015年09月29日 21:33
  • 2228

算法之递归(一)

一、绪论      C通过运行时堆栈支持递归函数的实现。递归函数就是直接或间接调用自身的函数。      许多教科书都把计算机阶乘和菲波那契数列用来说明递归,非常不幸我们可爱的著名的老潭老师的《C...
  • han_jiang_xue
  • han_jiang_xue
  • 2013年10月15日 23:28
  • 1352

JDBC详解系列(一)之流程

JDBC详解系列(一)之流程  本文主要介绍了JDBC操作数据库的基本流程,包括对数据库进行CRUD,批量处理...
  • weixin_37139197
  • weixin_37139197
  • 2017年12月19日 22:59
  • 105

数学之美系列完整版(最新全集列表)

数学之美系列完整版(最新全集列表)作者:吴军, Google 研究员 来源:Google黑板报 数学之美 一 统计语言模型 数学之美 二 谈谈中文分词 数学之美 三 隐含马尔可夫模型...
  • happylife1527
  • happylife1527
  • 2012年10月23日 09:15
  • 910

hdu 2045 不容易系列之(3)―― LELE的RPG难题

是一道递推找规律的题,首先易知f(1)=3;f(2)=6;f(3)=6;f(4)=18; 现在考虑n>3的情况,若第n-1个格子和第一个格子不同,则为f(n-1); 若第n-1个格子和第1个格子相...
  • u013008291
  • u013008291
  • 2014年10月14日 22:07
  • 1152

算法系列之七:爱因斯坦的思考题(下)

CheckGroupRelation()函数需要根据当前组group的位置进行适当的处理,如果当前组是第一个组或最后一个组,则group的相邻组只有一个,就是最靠近group的组,其它情况下group...
  • orbit
  • orbit
  • 2011年12月05日 22:37
  • 9345
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法之递归系列一
举报原因:
原因补充:

(最多只允许输入30个字)