AVL树说明: 该树是一种高度平衡的二叉搜索树,该树中的每一个结点左右子树的高度至多相差1。 AVL树本身也是一个二叉搜索树。 斐波那契数列: 1、1、2、3、5、8、13、21、34、…… 其递推式定义为:F(1) = 1, F(2) = 1, F(n) = F(n-1) + F(n-2) (n> ...
分类:
其他好文 时间:
2020-04-11 23:57:28
阅读次数:
123
题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 代码如下 1 public class Demo7 { 2 3 public static void main(String[] args) { 4 int fibonacci = Fibo ...
分类:
其他好文 时间:
2020-04-11 19:01:30
阅读次数:
69
前言 一个算法的优劣好坏,会决定一个程序运行的时间、空间。也许当小数据量的时候,这种影响并不明显,但是当有巨量数据的时候,算法的好坏带来的性能差异就会出天差地别。可以说直接影响了一个产品的高度和广度。每个程序员都想用最优的算法解决问题,我们期待自己写出的代码是简洁、高效的。但是如何评判一个算法的好坏 ...
分类:
其他好文 时间:
2020-04-07 12:58:35
阅读次数:
68
1 sum = 0 2 a,b = 0,1 3 while b < 4000000: 4 if b%2 == 0: 5 sum += b 6 a,b = b,a+b 7 print(sum) ...
分类:
其他好文 时间:
2020-04-07 09:36:03
阅读次数:
56
static IEnumerable<int> Fibs(int count) { for (int i = 0,prevFib=1,curFib=1; i < count; i++) { yield return prevFib; int newFib = prevFib + curFib; pr ...
递归:函数自己调用自己,函数的这种嵌套作用;一般会有个通项公式(山里有座庙一直持续下去(盗梦空间),不知道什么时候结束,回到现在) 1.写数据算法时,可以不用考虑内部是怎么计算的,只管实现自己调用的思想; 2.相当于把循环for递推换成了选择if递归,容易理解,但效率低了点。 例1:求一个数的阶乘 ...
分类:
其他好文 时间:
2020-04-05 11:33:41
阅读次数:
86
问题描述: 实现时间复杂度O(N)的斐波那契解法。 算法实现: public static int fibonacci(int n) { if(n < 1) { return 0; } if(n == 1 || n == 2) { return 1; } int pre = 1; int res = ...
分类:
其他好文 时间:
2020-04-02 19:35:44
阅读次数:
80
一.基本结构图 二.典例 1.以斐波那契递归为例: Fibonacci(int n) { if (n==1||n==0) return 1; // basis else return Fibonacci(n-1)+Fibonacci(n-2);//递归进行 } 我们找到了解决斐波那契数的方法,但是通 ...
分类:
编程语言 时间:
2020-03-31 12:08:41
阅读次数:
89
1. 斐波那契数列 显然,如果我们打算直接递归计算它的每个值,会有重复计算的部分,这个时候我们可以考虑把得到的值存起来,每次调用。 首先,会自然的想到用数组存下,每次计算下标的前两位的值。 但是随后我们边发现,其实每次都只需要保留最后两个数的值就能计算出下一个数的值了。这样减少了存储空间的占用。 2 ...
分类:
编程语言 时间:
2020-03-30 23:32:04
阅读次数:
100
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2: 输入: 3输出: 3解释: 有三种方 ...
分类:
其他好文 时间:
2020-03-30 23:27:38
阅读次数:
83