因为算法挂了,所以复习(不服)
要过考试
伪代码一定要写对,前提是真代码会。
以前只是理解递归,但还真没完全理解过
今天又尝试一步步去理解,遂晕
恍然大悟,没必要
完全没必要一步步去理解
只要理解递归,降维打击,就能够完全理解 ,理解不了还真不是智商的问题,还是理解的角度错了
不要去死钻。(初学还是要钻一下,但掌握不必要)
以下代码算是可是化的,这么简单了,运行就懂了。
A,B,C=[4,3,2,1],[],[]
def move(n,a,b):
b.append(a.pop())
print("-----------")
print(A)
print(B)
print(C)
def Hanoi(n,x,z,y):
if n>0:
Hanoi(n-1,x,y,z)
move(n,x,z)
Hanoi(n-1,y,z,x)
Hanoi(len(A),A,C,B)