毛毛cc 发表于 2020-6-7 09:43:52

汉诺塔函数问题求助

汉诺塔的程序编写中 为什么最下面的盘子从x移动到z时不用Hanoi(1,x,y,z)函数定于编写呢?

CodingCat_k 发表于 2020-6-7 11:26:31

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