算法相关---->准备知识

递归的复习

def func1(x):
    if x > 0:
        func1(x - 1)
        print(x)
func1(5)    #结果 以此打印1 2 3 4 5


def func2(x):
    if x > 0:
        print(x)
        func2(x - 1)
func2(5)    #结果 以此打印5 4 3 2 1 

两个特点:

  1.调用自身

  2.结束条件

两个重要单位:

时间复杂度:

算法的时间复杂度是一个函数,它定量描述了该算法的运行时间,时间复杂度常用“O”表述,使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况;

  用来估算算法运行时间的一个式子(单位)

  一般来说,时间复杂度高的算法比复杂度低的算法慢

  常见的时间复杂度高低排序:O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n2logn)<O(n3)

print('Hello world')  # O(1)
 

# O(1)
print('Hello World')
print('Hello Python')
print('Hello Algorithm')
 

for i in range(n):  # O(n)
    print('Hello world')
 

for i in range(n):  # O(n^2)
    for j in range(n):
        print('Hello world')
 

for i in range(n):  # O(n^2)
    print('Hello World')
    for j in range(n):
        print('Hello World')
 
 
for i in range(n):  # O(n^2)
    for j in range(i):
        print('Hello World')
 
 
for i in range(n):
    for j in range(n):
        for k in range(n):
            print('Hello World')  # O(n^3)

空间复杂度:

  用来评估算法内存占用大小的一个式子

 

“空间换时间”

 

转载于:https://www.cnblogs.com/Utopia-Clint/p/10831330.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值