## 时间复杂度和空间复杂度的学习和几种常见排序的复杂度分析
一:什么是时间复杂度
一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)。就是说执行算法需要消耗的时间长短,越快越好。
二:学习时间复杂度的用意
时间复杂度的意义在于可以在不运行的情况下知道哪个算法花费的时间多,哪个算法花费的时间少。这对于优化代码,评价算法的优劣是很有用的。
三:时间复杂度的写法
时间复杂度一般用大写O表示;
常数级时间复杂度记为:O(1);
线性级:O(n),
平方级:O(n²)。
常数级 O(1)
int a = 1;
int b = 2;
int c = 3;
执行了一次,所以它的时间复杂度也就是O(1)。
线性阶O(n)
for(i = 1; i <= n; i++) {