Java递归

精髓

  1. 将问题分解为规模更小的相同问题
    • 规模不同,但还是相同的问题
  2. 持续分解,直到问题规模小到可以用非常简单直接的方式来解决
    • 小规模问题和大规模问题的求解完全不在一个层面上
  3. 递归的问题分解方式非常独特,其算法方面的明显特征就是:在算法流程中调用自身
    • 持续分解为规模更小的相同问题,相同问题当然还是用相同的函数解决,调用自身在递归看来是直截了当的

要点

  1. 问题分解为更小规模(减小规模)的相同问题,并表现为调用自身
  2. 最小规模问题的解决:简单直接

递归三定律

  1. 必须有一个基本结束条件(最小规模问题直接解决)
  2. 必须能改变状态向基本结束条件演进(减小问题规模)
  3. 必须调用自身(解决减小了规模的相同问题)

posted @ 2020-08-22 20:35  CrazyGod  阅读(107)  评论(0)    收藏  举报