数据结构与算法
斐波那契数
使用递归:
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个相同类型元素的有限序列
数组是一种线性存储的线性表
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步