Advertisement

python-汉诺塔

阅读量:
复制代码
 def movTower(height, fromPole, withPole, toPole):

    
     if height >= 1:
    
     movTower(height - 1, fromPole, toPole, withPole)
    
     movDisk(height, fromPole, toPole)
    
     movTower(height - 1, withPole, fromPole, toPole)
    
     
    
 def movDisk(disk, fromPole, toPole):
    
     print(f"Moving disk[{disk}] from {fromPole} to {toPole}")
    
     
    
 movTower(3, '#1','#2','#3')
    
    
    
    

从递归三定律的角度探讨汉诺塔问题的解决方式

递归三定律主要包括基础终止条件、规模缩减策略、递归调用自身等核心要素。

接下来,我们将分析如何将上述三定律应用于汉诺塔问题之中。

将汉诺塔问题转化为递归结构进行解析

假设存在5个由小到大依次排列的盘子,1#、2#和3#分别代表三个柱子,其中1#为起始柱子(fromPo

全部评论 (0)

还没有任何评论哟~