算法分析与设计---迭代法求解递推方程

文章通过迭代法探讨了汉诺塔问题、插入排序和二分排序的时间复杂度,利用递推方程和数学归纳法进行证明,得出T(n)=2^n-1、W(n)=m(n-1)/2和W(n)=nlogn-n+1的结论。

1.迭代法

  • 步骤

    • 不断将递推方程的右部替代左部
    • 直到出现初值
    • 将初值带入,进行化简
    • 用数学归纳法进行验证
  • 备注:迭代法也可以进行换元后进行如例三
  • 例子

    • 汉诺塔问题
      • T(n)=2T(n-1)+1
      • T(1)=1

      • T(n) = 2 T(n-1) + 1

        = 2[2T(n-2) + 1] + 1

        = 2^2 T(n-2) + 2 + 1

        ......

        = 2^(n-1)T(1) + 2^(n-2)+2^(n-3)+...+2+1

        =2^(n-1) + 2^(n-1)-1= 2^n-1

        T(1)=1, 2^(n-2)+2^(n-3)+...+2+1等比数列

      • 数学归纳法验证:
        • 第一步:n=1:T(0)=0,T(1)=1
        • 第二步:假设n时,T(n)=2^n-1成立
        • 第三步:带入n+1
        • T(n+1)=2T(n)+1

          =(2^n-1)*2+1

          =2^(n+1)-2+1

          =2^(n+1)-1 

        </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值