递归树

递归树

    递归树的结点有两个域,如下图:

    T(size)指问题大小为size时,函数的复杂度。nonrec.cost指问题大小为size时的非递归代价。

     根结点的每个子结点都代表了这个问题分拆的一个子问题的复杂度。就这样递归地分解问题。一直到达叶子结点,也就是base-case.在前面的讨论中,我们没有涉及base-case,在使用递归树分析复杂度时,我们假设base-case的复杂度为1

     举一个例子就可以很明白的说明如何构造递归树。

Example1:     由递归方程T(n)=2T(n/2)+n构造递归树

     首先,构造根接点

它的子结点是

     ……,以此类推。所以,最后的递归树为:

递归树规则:

     根结点的复杂度=所有非叶结点的非递归复杂度+叶子结点的复杂度。

所以,在上面的例子中,每层的非递归复杂度为n,base-case出现在大约lgn(n/2^d =1;d = lgn)。由于base-case的复杂度为1,所以T(n)nlgn,即

     递归树是分析和计算递归方程的一个重要工具。它可以直观地表示出递归函数的复杂度,并使人易于理解。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值