目录
Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 class 。
一、时间复杂度:
算法中的基本操作的执行次数,为算法的时间复杂度。
1.1 大O的渐进表示法
- 推导大O阶方法
1
、用常数
1
取代运行时间中的所有加法常数。
2
、在修改后的运行次数函数中,只保留最高阶项。
3
、如果最高阶项存在且不是
1
,则去除与这个项目相乘的常数。得到的结果就是大
O
阶。
void func4(int N) {
int count = 0;
for (int k = 0; k < 100; k++) {
count++;
}
System.out.println(count);
}
//复杂度为O(1)
// 计算斐波那契递归fibonacci的时间复杂度?
int fibonacci(int N) {
return N < 2 ? N : fibonacci(N-1)+fibonacci(N-2);
}
//复杂度为O(2的N次方)
1.2空间复杂度
空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度 。
/ /计算fibonacci的空间复杂度?
int[] fibonacci(int n) {
long[] fibArray = new long[n + 1];
fibArray[0] = 0;
fibArray[1] = 1;
for (int i = 2; i <= n ; i++) {
fibArray[i] = fibArray[i - 1] + fibArray [i - 2]; }return fibArray;
}
}
//O(N)