关于汉诺塔问题后对于递归思想的理解
今日复习到汉诺塔问题,有了对于递归算法更进一步的理解,下面和大家稍作分享.
首先,递归算法是一种通过简单几行代码帮助解决困难问题的一种途径,甚者,递归帮助我们仅仅用几行类似于指令的操作,解决了一个庞大的体系结构
首先我们要了解的是,递归是一种反复调用的程序,
常见的递归结构大部分可分为两部分,第一部分为判断条件,并进入下一层递归,这里我们用大写字母表示
第二部分为在满足条件后执行某一特定的操作,这里我们用小写字母表示
其中,相同的字母表示同一层递归
其先后非常重要,这里简单画个模型
A a
B b
C c
D d
E e
Ff
-------->--------------->--------------------->-------------->---------------->
在运行逻辑上,你可以理解为程序从左往右运行,程序从A进入递归后依次判断条件,执行ABCDEF,在最后一层F中满足条件
程序便依次反向执行f,从而慢慢从循环中走出来.
初学者轻喷,还希望分享对大家有帮助.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix