算法效率
算法效率分两种,时间效率和空间效率。时间效率就是时间复杂度,主要用来衡量一个算法的运行速度。空间效率就是空间复杂度,主要用来衡量一个算法的额外空间。在现在以及未来,计算机的存储容量已经达到了很高的程度,所以不用过多的考虑空间复杂度
时间复杂度
算法中基本操作的执行次数就是算法的时间复杂度。
而计算时间复杂度时,并不需要精确的数值,只需要大概的执行次数,所以可以使用大O的渐进表示法:
1.常数次都用常数1取代
2.运行次数函数只保留最高项
3.当最高项存在且不为1时,最高项系数可以省略
有些算法的时间复杂度存在最好、最坏、平均情况,在实际中一般关注的是算法的最坏运行情况,所以时间复杂度取最坏情况
空间复杂度
算法运行过程中临时占用储存空间的大小的量度就是算法的空间复杂度
空间复杂度不是程序占用了多少内存空间,算的是变量的个数,也使用大O的渐进表示法