JPEG image.jpeg

数据库系统概念导航🚀🚀🚀

  1. 🐻‍❄️ 第一章 初始算法

  2. 🦝 第二章 复杂度分析 ⇦ 当前位置🪂

  3. 🐳 第三章 数据结构

  4. 🐼 第四章 数组与链表

迭代与递归

「迭代 iteration」是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段代码,直到这个条件不再满足

for 循环的代码更加紧凑,while 循环更加灵活

每一次嵌套都是一次“升维”,有关时间复杂度

「递归 recursion」是一种算法策略,通过函数调用自身来解决问题

1
2
3
4
5
6
7
8
9
def recur(n:int) -> int:
""" 递归,1+2+3+……+n """
# 终止条件
if n = 1:
return 1
# 递:递归调用
res = recur(n - 1)
# 归:返回结果
return n + res
1
2
3
4
5
6
7
8
def hanoi(n, source, target, auxiliary):
""" 汉诺塔 """
if n == 1:
print(f"{source} -> {target}")
return
hanoi(n - 1, source, auxiliary, target)
hanoi(1, source, target, auxiliary)
hanoi(n - 1, auxiliary, target, source)

迭代:自下而上,不断重复

递归:自上而下,划分为更小的子问题

Untitled


时间复杂度

Untitled

Untitled