A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 17721165644 中级黑马   /  2016-9-23 21:29  /  592 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    为了混技术分也是拼了。
   百度告诉我们: 递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。
          也就是找出问题的求解规律,将其转换为一个最小解,通过不断得到一个个最小解不断推进进而的到问题的解。以愚公移山为例:
         愚公自己不能把山移走,但他想了一个办法:我和我的子子孙孙一直干下去总有一天能把山移走。这个想法表明:
                      1:山的总量是固定的,问题总能解决掉;
                      2:每一代人都干这个事。把一个人解决不了的事化成了子子孙孙每个人的事,对愚公而言降低了问题的规模。我只要把我自己能移走的移了就                          可以了,剩下 的交给子孙就可以,他们还可以进一步把任务留给后代。
         解决算法:


                 void  moveMountain(第N代人){   //移山工程落在我的肩上,好呀好开兴
                        if(山没了){
                              祭祖:山终于移走了;  

                        }else{
                              完成我自己能办到的工作量;
                              moveMountain(第N+1代人);//靠你了N+1代目(愚公)
                  }
          就这样吧。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马