算法小结

发布时间:2022-06-25 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了算法小结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

时间复杂度: 时间复杂度是用来估计算法运行时间的一个式子(单位) 一般而言,时间复杂度高的算法比复杂度低的算法慢。 常见的时间复杂度(按效率排序) O(1)<O(logn)<O(n)<O(nlogn)<O(n²)<O(n²logn)<O(n³) 复杂问题的时间复杂度 o(n!) O(2ⁿ) O(nⁿ)

如何简单快速地判断算法复杂度 快速判断算法复杂度(适用于绝大多数简单情况) 确定问题规模 n 循环减半过程 logn n层关于n的循环 nⁿ 复杂情况:根据算法执行过程判断

空间复杂度: 空间复杂度:用来评估算法内存占用大小的式子 空间复杂度的表示方式于时间复杂度完全一样 算法适用了几个变量:O(1) 算法使用了长度为n的一维列表:O(n) 算法使用了m行n列的二维列表:O(mn) 空间换时间

复习:递归 递归的两个特点: 调用自身 结束条件

请判断如下哪些是递归: def fun1(x): print(x) fun1(x-1)

def fun2(x): if x>0: print(x) fun2(x+1)

def fun3(x): if x>0: print(x) fun3(x-1)

def fun4(x): if x>0: fun4(x-1) print(x)

fun1与fun2都不是合法的递归,因为在fun1中没有判断条件以实现结束递归;fun2中x如果为大于0的数则判断一直成立 fun3与fun4是合法递归,先给了判断再执行递归操作; fun3与fun4不同点为,打印地方不一样: fun3打印3,2,1 fun4打印1,2,3

算法小结

递归练习:汉诺塔 n个盘子时: 1、把n-1个圆盘从A经过C移动到B 2、把第n个圆盘从A移动到C 3、把n-1个小圆盘从B经过A移动到C 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')

脚本宝典总结

以上是脚本宝典为你收集整理的算法小结全部内容,希望文章能够帮你解决算法小结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: