27递归树:如何借助树来求解递归算法的时间复杂度?.pdfVIP

  • 3
  • 0
  • 约1.69万字
  • 约 18页
  • 2022-02-22 发布于吉林
  • 举报

27递归树:如何借助树来求解递归算法的时间复杂度?.pdf

27|递归树:如何借助树来求解递归算法的时间复杂度? 27|递归树:如何借助树来求解递归算法的时间复杂度? 今天,我们来讲树这种数据结构的一种特殊应用,递归树。 我们都知道,递归代码的时间复杂度分析起来很麻烦。我们在第12节《排序(下)》那里讲过,如何利用递推公式,求解归并排序、快速排序的时间复杂度,但 是,有些情况,比如快排的平均时间复杂度的分析,用递推公式的话,会涉及非常复杂的数学推导。 除了用递推公式这种比较复杂的分析方法,有没有更简单的方法呢?今天,我们就来学习另外一种方法,借助递归树来分析递归算法的时间复杂度。 递归树与时间复杂度分析 我们前面讲过,递归的思想就是,将大问题分解为小问题来求解,然后再将小问题分解为小小问题。这样一层一层地分解,直到问题的数据规模被分解得足够 小,不用继续递归分解为止。 如果我们把这个一层一层的分解过程画成图,它其实就是一棵树。我们给这棵树起一个名字,叫作递归树。我这里画了一棵斐波那契数列的递归树,你可以看 看。节点里的数字表示数据的规模,一个节点的求解可以分解为左右子节点两个问题的求解。 file:///J/geektime/唯一更新QQ群170701297/ebook/数据结构与算法之美/27递归树:如何借助树来求解递归算法的时间复杂度

文档评论(0)

1亿VIP精品文档

相关文档