说到算法,那什么是算法?
算法(Algorithm):一个计算过程,解决问题的方法。
跟算法相关的一些概念,比如:时间复杂度和空间复杂度。
时间复杂度是用来估算一个算法的运行效率的。通常用O表示。比如,print("xxxx")一句代码的时间复杂度是O(1),循环n次,就是O(n)。
的时间复杂度是O(logn),n的指数
常见的时间复杂度(按效率排序)
O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n2logn)<O(n3)
不常见的时间复杂度(看看就好)
O(n!) O(2n) O(nn) …
如何一眼判断时间复杂度?
循环减半的过程-->O(logn)
几次循环就是n的几次方的复杂度
空间复杂度是用来评估一个算法内存占用大小的。
递归的示例:
# 终端输出:抱着抱着抱着我的小鲤鱼的我的我的我 def func(n): if n==1: print("我的小鲤鱼",end='') else: print("抱着",end='') func(n-1) print("的我",end='') func(4)