一、什么是时间复杂度?
什么是时间复杂度,简单的来说就是一段代执行所需要的时间。也可以理解成我们吃个大汉堡一共需要多少时间!
二、时间复杂度怎么计算
假定一行代码的运行时间为1,那么一个程序的语句执行次数我们记为T(n) = O(n);
我们看一下这一段代码:
for (int i = 0;i <= n;i++){
System.out.println("1");
}
/*
* int i = 0; 1
* i <= n; 1+n
* i++; n
* System.out.println("一个time"); n
* */
如何推导出时间复杂度尼?
- 如果运行时间是一个常数量级,统一用常数1表示;
- 只保留时间函数中的最高阶;
- 如果最高阶存在,省去最高阶项前面的系数;
这样子我们可以得到上面代码的时间复杂度为:
- T(n) = O(3n +2);
保留最高阶,去掉高阶项前面的系数得到: - T(n) = O(n);