Discuss / Python / 额

还是懵

这不是编程题,这是智力题T T

sujunhere

#14 Created at ... [Delete] [Delete and Lock User]

很多对汉诺塔的递归解法不理解的,并不是对递归算法本身的不理解,而是对函数定义时的参数意义没有完全理解。Python定义函数时的「位置参数」这个概念很好,意味着定义函数时设置的参数它只是占位置的,是形式上的参数。由于我们习惯上会按照汉诺塔的玩法把参数a,b,c和三根柱子对应起来,这就容易带来理解的问题。实际上在计算过程中,参数a,b,c会并不总是对应A柱,B柱和C柱,更多应该理解为起始柱、交换柱、目标柱,即每一步骤下,起始、交换和目标柱是变换的。分清这一点对理解算法和函数定义的参数意义,是有必要的。

萌的一脸好逼

持续懵逼。。。


  • 1
  • 2

Reply