汉诺塔函数问题求助
汉诺塔的程序编写中 为什么最下面的盘子从x移动到z时不用Hanoi(1,x,y,z)函数定于编写呢? 最后的盘子继续用Hanoi(int nCount, char from, char tmp, char to)函数,那请问你的递归算法出口在哪?汉诺塔问题本质上是拆解成:n-1个盘子以Z轴为中转移动到Y轴,而后最底下的从X轴 -> Z轴;
然后再把Y轴上的通过X轴为中转移动到Z轴,完成移动。
底层可以一次移动完成为何要多此一举而且违反规定操作呢?Y轴上的盘子都是比它小的,而且专门为它腾出来Z轴不放,那算法设计思想是不是出现了问题?
页:
[1]