zoukankan      html  css  js  c++  java
  • 递归

    一、递归的思想:

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

    二、递归的条件:

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

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

    三、递归的要素:

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

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

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

    四、递归算法的格式:

    func( mode){

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

        }else{

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

    }

    五、递归的排序:

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

  • 相关阅读:
    Webpack打包原理
    Vue——VNode
    Vue——响应式原理
    HTTP2.0——头部压缩
    HTTP2.0
    浏览器打开2个页面会有几个进程?
    计算机网络——TCP如何保证可靠性
    操作系统——进程之间的通信
    前端路由hash与history下
    前端路由hash与history上
  • 原文地址:https://www.cnblogs.com/yhcTACK/p/15431425.html
Copyright © 2011-2022 走看看