1.算法:一个计算过程,解决(复杂)问题的方法。
2.程序=数据结构+算法
3.时间复杂度:用来评估算法运行效率的式子,O(单位)表示大概(单位)运行次数的时间。
4.不考虑机器等因素,一般来说,时间复杂度高的算法比复杂度低的算法慢。
5.常见的时间复杂度,按照效率排序:
O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^2logn)<O(n^3)
6.快速判断算法复杂度的方法:
1)确定问题规模 n
2)循环减半过程 logn
3)K层关于n的循环 n^k
注意:复杂情况:根据算法执行过程判断
7.空间复杂度:用来评估算法内存占用大小。O(单位)