1、算法概念
算法:一个计算过程,解决问题的方法
程序 = 数据结构 + 算法
2、时间复杂度
时间复杂度是用来评估算法运行时间大小的一个式子
用时间复杂度来体现算法运行的快慢
O就是大概的意思,时间复杂度强调的更多的是一个大概的时间
print('hello world')
O(1) :O是数学里上界的意思,可以见到理解为大约,括号里1就是单位,O(1)就是执行了一次,我们把一些基本的操作,比如加减乘除打印等,就叫做时间消耗是1。
for i in range(n):
print('hello world')
O(n):这个代码是一个循环,大概会运行n次,所以表示成大约O,单位n,n就是一个运行单位
for i in range(n):
for i in range(n):
print('hello world')
O(n2):两层循环,定义为n的平方
O(n3):三层循环,定义为n的三次方
四层循环,就是n的四次方
如果打印3次,时间复杂度还是O(1)
两次循环里各带着两个打印,时间复杂度还是O(n2),只留大单位
while n > 1:
print(n)
n = n // 2
n = 64输出:
64
32
16
8
4
2
n =