zoukankan      html  css  js  c++  java
  • 递归

    一、递归的思想:

    就是把规模大的问题转化为规模小的相似的子问题来解决。在函数实现时,因为解决大问题的方法和解决小问题的方法往往是同一个方法,所以就产生了函数调用它自身的情况。另外这个解决问题的函数必须有明显的结束条件,这样就不会产生无限递归的情况了。

    二、递归的条件:

    1、可以通过递归调用来缩小问题规模,且新问题与原问题有着相同的形式。(自身调用)

    2、存在一种简单情境,可以使递归在简单情境下退出。(递归出口)

    三、递归的要素:

    1、一定有一种可以退出程序的情况;

    2、总是在尝试将一个问题化简到更小的规模

    3、父问题与子问题不能有重叠的部分

    四、递归算法的格式:

    func( mode){

        if(endCondition){      //递归出口          end;

        }else{

             func(mode_small)  //调用本身,递归    }

    }

    五、递归的排序:

    归并排序也是递归的典型应用,其思想:将序列分为若干有序序列(开始为单个记录),两个相邻有序的序列合并成一个有序的序列,以此类推,直到整个序列有序。

  • 相关阅读:
    shell脚本编程-重定向
    web安全-剖析_基础构架剖析
    shell脚本编程-函数
    shell脚本编程-循环
    web安全-入侵基础
    shell脚本编程-检查和测试
    shell脚本编程-特殊字符
    shell脚本编程-计算方式
    python例子-抓取网站IP列表
    linux问题-APR not Found
  • 原文地址:https://www.cnblogs.com/yhcTACK/p/15431425.html
Copyright © 2011-2022 走看看