递归实现基础:基例,链条
基例:递归结束标志
链条:递归循环实现
count = 0
#(初始柱子,中间柱子,结果柱子)在递归过程中,ABC三柱子的实际作用会发生变化,但函数位置代表的含义不会改变
# 递归可以只关注N与N-1的关系
def hanoi(n, start, mid, end):
global count
if n == 1:
print("{} | 方法:{}->{}".format("递归层数:1", start, end))
count += 1
else:
hanoi(n - 1, start, end, mid)
print("{} | 方法:{}->{}".format("递归层数:" + str(n), start, end))
count += 1
hanoi(n - 1, mid, start, end)
hanoi(4, "A", "B", "C")
算法1·递归(汉诺塔)
最新推荐文章于 2025-06-01 14:22:54 发布