关注
汉诺塔问题跟树的LDR遍历一个道理 1.对于单个情形,也就是最大的圆盘的情形,直接从A移动到C,因此直接打印移动的方法即可,并且返回 2.对于两个圆盘的情形,分为三步进行: (1)从A移动到B一个 (2)从A移动到C一个 (3)将B中暂存的移动到C 因此跟BST的递归LDR遍历非常像,此时我们的调用打印应该为三步: (1)打印A-B (2)打印A-C (3)打印B-C 因此我的递归为: hanoi(n-1,A,C,B);
printf当前A-C;
hanoi(n-1,B,A,C); void hanoi(int n,char A,char B,char C){
if(n<=1){
printf("1 move %c to %c\n",A,C);
return;
}
hanoi(n-1,A,C,B);
printf("%d move %c to %c\n",n,A,C);
hanoi(n-1,B,A,C);
} 这样可以输出每一次的移动情况,如果只需要次数,不输出,累加个数即可
点赞
相关推荐
点赞 评论 收藏
分享
11-08 22:19
浙江科技大学 运营 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 工作中出现了XX情况正常吗 #
2421次浏览 35人参与
# 公司福利里最没用的一项是啥 #
1435次浏览 39人参与
# 回顾今年你干过的最“勇”的一件事 #
1811次浏览 30人参与
# 一人推荐一个值得做的项目 #
1233次浏览 21人参与
# 工作前VS工作后,你的心态变化 #
1494次浏览 17人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
1944次浏览 27人参与
# 毕业季,给职场新人一些建议 #
160800次浏览 2353人参与
# 如何用一句话描述你的职业 #
27522次浏览 176人参与
# 你被哪些公司挂了? #
106126次浏览 655人参与
# 说说你知道的学历厂 #
366684次浏览 1312人参与
# 机械校招之路总结 #
106416次浏览 2035人参与
# 找工作,行业重要还是岗位重要? #
83053次浏览 1665人参与
# 如果没找到工作,考公是你的退路吗 #
58055次浏览 434人参与
# 找工作如何保持松弛感? #
124324次浏览 1448人参与
# 牛友们的论文几号送审 #
61192次浏览 831人参与
# 如何准备秋招 #
67743次浏览 841人参与
# 你在职场上见过哪些“水货”同事 #
21461次浏览 150人参与
# 华勤技术工作体验 #
12158次浏览 23人参与
# 刚入职就____,这样正常吗? #
117733次浏览 657人参与
# 你怎么评价今年的春招? #
146722次浏览 1402人参与

