
算法学习
文章平均质量分 65
a768818702
这个作者很懒,什么都没留下…
展开
-
递归实例,汉诺塔问题
问题:大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。64根柱子移动完毕之日,就是世界毁灭之时。原创 2021-12-14 15:26:24 · 1924 阅读 · 1 评论 -
算法,初识空间复杂度、递归
空间复杂度:用来评估算法内存占用大小的式子空间复杂度的表示方式与时间复杂度完全一样 算法使用了几个变量:O(1) 算法使用了长度为n的一维列表:O(n) 算法使用了长度为m行n列的二维列表:O(mn)递归递归的两个特点: 调用自身 结束条件 举例:def func1(x): print(x) func1(x-1)不是合法的递归,例如,代入x=3,会无限执行下去,没有结束条件;是一个死递归def func2(x): ...原创 2021-12-14 01:33:55 · 450 阅读 · 1 评论 -
算法,初识时间复杂度
时间复杂度是用来估计算法运行时间的一个式子(单位)举例:print('Hello World') 时间复杂度为O(1)for i in range(n): print('Hello World') 时间复杂度为O(n)for i in range(n): for j in range(n): print('Hello World') 时间复杂度为O(n^2)for i in range(n): for j in range...原创 2021-12-08 11:52:44 · 807 阅读 · 1 评论