数据结构与算法

斐波那契数

使用递归:

public static int fib(int n){
        if(n<=1) return n;
        return fib(n-1)+fib(n-2);
    }

不足:存在性能问题当超过64就算不出来了

改进方法:

 public static int fib2(int n){
        if(n<=1) return n;
        int first=0;
        int second=1;
        for (int i = 0; i < n-1; i++) {
            int sum = first+second;
            first = second;
            second = sum;
        }
        return second;
    }

如何判断一个算法的好坏

  • 正确性
  • 可读性
  • 健壮性
  • 时间复杂度: 估算程序指令的执行次数
  • 空间复杂度: 估算需要的存储空间

大O表示法

  • 忽略常数,系数,底阶

动态数组

线性表是具有n个相同类型元素的有限序列
数组是一种线性存储的线性表

利用特征方程解斐波那契

链表

posted @ 2021-03-12 23:42  余***龙  阅读(47)  评论(0编辑  收藏  举报