关于汉诺塔问题后对于递归思想的理解

今日复习到汉诺塔问题,有了对于递归算法更进一步的理解,下面和大家稍作分享.

首先,递归算法是一种通过简单几行代码帮助解决困难问题的一种途径,甚者,递归帮助我们仅仅用几行类似于指令的操作,解决了一个庞大的体系结构

首先我们要了解的是,递归是一种反复调用的程序,

常见的递归结构大部分可分为两部分,第一部分为判断条件,并进入下一层递归,这里我们用大写字母表示

                                         第二部分为在满足条件后执行某一特定的操作,这里我们用小写字母表示

其中,相同的字母表示同一层递归

其先后非常重要,这里简单画个模型

 

A                                                                           a

  B                                                             b

     C                                              c

      D                                 d

        E                  e  

                                 Ff

-------->--------------->--------------------->-------------->---------------->

在运行逻辑上,你可以理解为程序从左往右运行,程序从A进入递归后依次判断条件,执行ABCDEF,在最后一层F中满足条件

程序便依次反向执行f,从而慢慢从循环中走出来.

初学者轻喷,还希望分享对大家有帮助.

 

posted @ 2022-01-16 16:57  红石Hong  阅读(87)  评论(0)    收藏  举报