03.python算法底子知识明白

手机游戏开发者 2024-10-7 01:47:59 51 0 来自 中国
程序 = 数据结构+算法
一个程序,有多种办理实际题目的解法,就涉及到算法;听说多训练算法头脑,测试过程根本也不会漏测,赶紧多训练下;
本篇重要明白下算法解题中涉及到的几种概念,时间复杂度+空间复杂度
1、时间复杂度:用来评估算法运行服从的式子

1.png
3.png 4.png 小结:

1、算法要思量时间复杂度。时间复杂度是用来估盘算法运行时间的一个式子(单位)。
2、一样平常来说,时间复杂度高的算法比复杂度低的算法慢。
3、常见的时间复杂度(按服从排序):
O(1)>O(logn)>O(n)>O(nlogn)>O(n2)>O(n2logn)>O(n^3)
这个时间复杂度中log都是以2为底的对数。
3、不常见的时间复杂度:
O(n!), O(2^n), O(n^n)
4、怎样判断时间复杂度:确定题目规模n,循环减半的过程是 O(logn),反复循环就是n的反复方的复杂度
2、空间复杂度

时间复杂度比空间复杂度告急,以是有许多分布式算法
5.png 3、递归

递归实例:汉诺塔题目
def hanoi(n,a,b,c):    if n >0:        hanoi(n-1,a,c,b)        print("moving from %s to %s"%(a,c))        hanoi(n-1,b,a,c)hanoi(3,'A','B','C') 8.png
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:53, Processed in 0.133078 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表