关于汉诺塔问题后对于递归思想的理解
今日复习到汉诺塔问题,有了对于递归算法更进一步的理解,下面和大家稍作分享.
首先,递归算法是一种通过简单几行代码帮助解决困难问题的一种途径,甚者,递归帮助我们仅仅用几行类似于指令的操作,解决了一个庞大的体系结构
首先我们要了解的是,递归是一种反复调用的程序,
常见的递归结构大部分可分为两部分,第一部分为判断条件,并进入下一层递归,这里我们用大写字母表示
第二部分为在满足条件后执行某一特定的操作,这里我们用小写字母表示
其中,相同的字母表示同一层递归
其先后非常重要,这里简单画个模型
A a
B b
C c
D d
E e
Ff
-------->--------------->--------------------->-------------->---------------->
在运行逻辑上,你可以理解为程序从左往右运行,程序从A进入递归后依次判断条件,执行ABCDEF,在最后一层F中满足条件
程序便依次反向执行f,从而慢慢从循环中走出来.
初学者轻喷,还希望分享对大家有帮助.

浙公网安备 33010602011771号