zoukankan      html  css  js  c++  java
  • JAVA数据结构和算法 6 递归

    递归:直接或者间接地调用自己。比如计算连续数的阶乘,计算规律:n!=(n-1)!*n。

    每个递归方法都有一个基值(终止)条件,以防止无线地递归下去,以及由此引发的程序崩溃。

    采用递归是因为它可以从概念上简化问题,递归算法结构清晰、可读性强,且容易采用数学归纳法证明算法正确性。然而时间花费和空间花费都比非递归算法更大。

    关于递归与分治:

    分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题与原问题相同且相互独立。

    递归地解这些子问题,然后将各子问题的解合并得到原问题的解。

    使用分治思想设计出的算法一般是递归算法,所以分治问题的时间复杂度也可以用递归方程来分析

    关于递归与回溯:

    回溯也是一种算法思想,可以用递归实现。通俗点讲回溯就是一种试探,类似于穷举,但回溯有“剪枝”功能。

  • 相关阅读:
    WIFI芯片,结构光和ToF
    Ubuntu + Python
    React-Native 报错处理
    GPS && AGPS
    Feed流
    Kafka基础知识总结
    Kafka海量日志收集架构之Watcher监控告警-watcher 基础语法与使用
    4-23学习心得
    4-22 学习心得
    4-21学习心得
  • 原文地址:https://www.cnblogs.com/lsh0908/p/11770783.html
Copyright © 2011-2022 走看看