【BigHereo 16】-----DataStrutrue 递归基础

来源:互联网 发布:java 线程池 队列大小 编辑:程序博客网 时间:2024/06/16 20:55


 DataStrutrue 递归基础

      


     前言:


             递归, 最简单通俗的说法就是自己调用自己,除了这个,你还知道其他吗?



    提问:


         1,递归是什么?

       

         2,递归分为几类?


         3, 递归都是怎么用的?


        4,用了递归有什么好处?


        5,迭代和递归 有什么区别?



疑惑解答:


                                             

      

       

        1,递归是什么?

解答:程序调用自身的编程技巧成为递归(Recursion)  ,递归作为一种算法在程序设计语言中广泛运用.


       2,递归分为几类?

解答: 递归还有分类? 不就是自己调用自己吗?

递归: (1)直接递归(调自己)
         (2)间接: 调A--->B--->A


      3, 递归都是怎么用的?

解答: 递归主要是用栈来实现运用的.


      4,用了递归有什么好处?

解答:

 优点: 代码简洁,代码量少
 缺点: 占空间大, 要保护线程, 效率低

       5,迭代和递归 有什么区别?

解答: 迭代和递归都是循环的一种, 迭代是函数内某段代码实现的循环,而递归主要是重复调用自身实现循环.

注意: 迭代与普通循环区别是, 循环代码中参与变量的同时是保存结果的变量, 当前保存的结果作为下一次循环的初始值.