博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汉诺塔学习笔记,有不正确的地方请小伙伴们指正~·~
阅读量:7112 次
发布时间:2019-06-28

本文共 517 字,大约阅读时间需要 1 分钟。

1*  n=3.abc;
2*  n-1=2,acb;
3*  n-1=1,abc
 
 
1*    n=3,执行hanoi(n-1,A,C,B);   
=>2*  n-1=2,acb执行hanoi(n-1,A,C,B);
=>3*  n-1=1,abc执行if(n==1)    输出(n=1)A-》c
返回2*   acb                   输出  2    a-》b执行 hanoi(n-1,B,A,C);
 =》n-1=1,cab                 输出(n=1)c-》b
返回1*   abc                   输出   3   a->c
顺序执行 hanoi(n-1,B,A,C);=》n-1=2  ,bac (4*)  顺序执行hanoi(n-1,A,C,B) ;
=》n-1=1,bca                  输出  (n=1)b->a 
返回4*   n=2 ,bac             输出    2    b-》c
顺序执行 hanoi(n-1,B,A,C); =》n-1=1,abc 
                               输出    (n=1)a-》c
 
 
ps:为什么要返回4*?
猜想:n=2时,保留下来,去执行 hanoi(n-1,A,C,B);
      n-1=1,
     之后返回执行n=2
     也可以理解为从1开始执行,像盖金字塔一样
 

转载于:https://www.cnblogs.com/fanfusuzi/p/6853128.html

你可能感兴趣的文章
(译)使用Spring Boot和Axon实现CQRS&Event Sourcing
查看>>
微软整合实验(四):迁移FSMO操作主机角色,基于Server 2008 R2
查看>>
Cisco IPSec_×××详细配置
查看>>
我的友情链接
查看>>
git 修改账号密码
查看>>
2017 未来架构师<设计思考> 翻转式课堂
查看>>
eNSP园区网络结构图配置
查看>>
Windows 8 数学输入板
查看>>
PHP网站开发工程师的职业发展规划与技能条件
查看>>
我的友情链接
查看>>
PXE和kickstart无人值守安装
查看>>
Activiti 5.18 的Mybatis版本问题
查看>>
安装vs2010的msdn
查看>>
我的友情链接
查看>>
ps处理icon,gif
查看>>
我的友情链接
查看>>
Java并发 Fork/Join框架
查看>>
jQuery如何访问Iframe中的元素
查看>>
btrfs文件系统的管理及使用
查看>>
快递电子面单打印接口对接demo-JAVA
查看>>