数列回顾

int fun(int n)
{
if(n==0)return 0;
if(n==1)return 1;
else
    return fun(n-1)+fun(n-2);
}
// (2^n,n)
long long feibona(int n)
{
long long nResult=0;
long long nFirst=0,nSecond=1;
long long  nCount=1;
if(n<2)
{
return n;
}
while(nCount++<=n)
{
    nResult =  nFirst+nSecond;
    nFirst  =  nSecond;
    nSecond =  nResult;
}
return nResult;
}
// (n,1)
int main()
{
int n=10;
cout<<feibona(n)<<endl;
cout<<fun(n)<<endl;
// cout<<(float)pow(2,50)<<endl;
return 0;
}
注:(时间复杂度,空间复杂度)
层次性:
注意点:
1         n=0   return 0;
2         long long    unsigned long long
3         while(nCount++<=n)  
4        三目运算符的简易写法

数列的层次

时间: 2024-09-30 04:03:45

数列回顾的相关文章

黄金分割二分法数值分析回顾

今天看了2012年写的对黄金分割二分法的数值探讨,推理公式不记得了,当时写的不细致,晚上回顾了下,做了些补充 原文: http://blog.csdn.net/aaajj/article/details/7878480 比如ABCDE 5个节点,通过以下斐波拉契数列二分方式组织起来, 找A需要3次,即从5开始到A的路径 找B需要3次 找C需要2次 找D需要2次 找E需要2次 平均期望次数E=总次数 / 节点数 = (3+3+2+2+2) / 5 = 2.4 这里,设斐波拉契数列Tn 为 1 1

百度技术沙龙第48期回顾:大规模机器学习(含资料下载)

原文:http://www.infoq.com/cn/news/2014/03/baidu-salon48-summary 2014年3月15日,在由@百度主办.@InfoQ负责策划组织和实施的第48期百度技术沙龙活动上,来自百度联盟大数据机器学习技术负责人夏粉,和搜狗精准广告研发部技术经理王晓博,各自分享了其在机器学习方面的实战经验.他们的话题涉及“广告数据上的大规模机器学习”和“大数据场景下主题检索应用”这两个方面,本文将对讲师各自的分享做简单的回顾,同时提供相关资料的下载. 主题一:广告数

重新回顾九大排序算法

最近无聊想回顾一下大一学过的排序算法.目前才写了一点...心得以后再补充吧!! 1.插入排序 //插入排序 /*  * 把数组a的第n个数插入前n-1个数中,注意前n-1个数已经是排好序的了  * */ public static void insertSort(int[] arr){   int len = arr.length;   int key;   int i,j;   for(i = 1; i < len; i++){    j = i;    key = arr[i];      

算法快速回顾——排序算法

常用排序算法有以下几种:冒泡排序.插入排序.快速排序.归并排序.堆排序. 本文将对五种常用算法分析并实现. //交换两个元素的值 这里列出几种不同写法 void swap(int *a, int *b) { int c = *a; *a = *b; *b = c; } void swap(int *a,int *b) { *a = (*a)^(*b); *b = (*b)^(*a); *a = (*a)^(*b); } void swap(int *a,int *b) { *a = *a + *

01-封装函数求斐波那契数列第n项

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //需求:封装一个函数,求斐波那契数列的第n项 alert(getValue()); //定义一个函数 function getValue(n){ //回顾

寻找数列中第K大的数

版权所有 未经允许 请勿擅自商用 转载请指明出处 最早看到这个问题是在那本Mark写的数据结构与算法分析的书中引论部分,当时就是瞅瞅,到了最近,在实际应用中,我需要查找一些列的数中第k大的数时,我才重新回顾品味这个问题.现在,实际问题中,我还暂时没有解决问题,但是这段思考过程很有意思,在这里给大家品味下. 具体的问题有点复杂,在这里就不赘述了,暂且将这个问题形式化的描述如下: 给定一个有限无序数列记做{an},从这个数列中找出第k大的数. 输入:数列{an},k 输出:第k大的数 首先,有个最简

这两周的学校生涯回顾

大四了,以后做作业的次数也越来越少了.最近很多课程都到尾声了,都要交作业了,忙碌了两个星期,今天算是把这些课程的作业做好了. 我的大四的课程如下: <传感网与物联网> <数据挖掘> <算法与数据结构高级课程> <虚拟化与云计算> 不得不承认这些课程的名字太大了,搞的好像确实挺牛的.其实老师只是把书本过一遍而已,浅尝辄止,不会很深入.因为没必要,很多人都没去上课,包括我在内,我只是上了5节以内的课.以前确实对课内的知识不是很重视,不是说它不好,学校这么多年的课

JAVASE笔记回顾

第一部分,JAVA基础和面向对象 part01 入门与开发环境搭建 1: 计算机基础知识(了解)(1)计算机(2)计算机硬件(3)计算机软件系统软件:windows,linux,mac应用软件:QQ,YY,扫雷,CS/F(4)软件开发就是用开发工具和计算机语言做出软件(5)计算机语言人与计算机的交流方式(6)人机交互A:图像界面方便,简单,直观.B:DOS 窗口方式要有控制台, 要记住很多的命令, 麻烦.(7)键盘功能键和快捷键的介绍(掌握)A:键盘功能键tabshiftctrlalt空格ent

利用对称数列输出菱形图案,呵呵

今天在回顾JavaSE时,又见到了曾经练习的小例子,用[*]输出一个菱形.如图 * *** ***** *** * 图1 按照自己以前的逻辑肯定会选择一半一半的输出,如先输出上面一个锥形,再输出下面一个锥形.如果要输出一个矩阵的数据的话,如图2,还会选择先输出[@],再输出[*],再输出[@]. 这里为方便显示,把空格替换成了[@]. @@@*@@@ @@***@@ @*****@ ******* @*****@ @@***@@ @@@*@@@ 图2代码如下: 1 public static v