Recursion

递归-循环
通过函数体来进行的循环(函数自己调用自己来形成循环)
代码要避免死循环(死递归即递归不停止)
数据结构与算法笔记(6)递归与分治
其中

if n<=1:
       return 1

为递归的终止条件
递归执行过程如下,以N=6为例
数据结构与算法笔记(6)递归与分治
递归的模板
数据结构与算法笔记(6)递归与分治
斐波那契数的递归算法
数据结构与算法笔记(6)递归与分治
运行路径如下
会产生许多重复的子问题运算,因此在本问题中效率并不是最好的
数据结构与算法笔记(6)递归与分治

Divide&Conquer(分治)

一个大的问题,要分成小问题来依次解决最后合并结果
数据结构与算法笔记(6)递归与分治
优点是可以进行并行计算,子问题处理之间是不相关的,可以在多个cpu上同时跑,不必等其他问题得出结果
同理如果不同小问题间有大量的重复计算的话,该方法效率可能并不是最好的。
分治的代码模板
数据结构与算法笔记(6)递归与分治

相关文章:

  • 2021-09-21
  • 2022-12-23
  • 2021-04-12
  • 2021-07-15
  • 2021-10-07
  • 2021-06-28
  • 2021-11-24
猜你喜欢
  • 2021-05-24
  • 2022-12-23
  • 2021-11-16
  • 2021-07-14
  • 2022-01-12
  • 2021-10-20
  • 2021-06-21
相关资源
相似解决方案