• 递归问题


    第一章递归问题

    1.1 河内塔

    n个圆盘移动从一个柱子借助一个柱子,移动到另一个柱子上的次数为 :

    递推式:T(n)=2*T(n-1)+1 , n>0,T(0)=0

    归纳法得出:T(n)=pow(2,n)-1 n>=0

    寻求封闭形式的表达式三个阶段:

    1)研究小的情形。

    2)对有意义的量求出数学表达式并给出证明。

    3)对数学表达式求出封闭形式并予以证明。


    1.2 平面上的直线

    n(直线)最多能把平面分为:

    递推式:L(n)=L(n-1)+n , n>0 ,L(0)=1

    对递推式展开或解开,如下:

    L(n)=L(n-1)+n

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

    =….

    =L(0)+1+2+...+(n-1)+n

    =1+n*(n+1)/2, n>=0

    S(n)=1+2+...+n,S(n) 可以用S(n)和它的反向书写相加

    n刀(呈锯齿形)最多能把平面分为:

    Z(n)=L(2*n)-2*n=2*n*n-n+1, n>=0


    1.3 约瑟夫问题

    n个人形成圈,每隔一个人出列,问最后一个人的序列?

    (1)若刚开始序列中有偶数(2*n)个人,经过一轮后,序列为:1,3,5….2*n-1, 既可以看作是n 个人的情况,序列号加倍减一, 即J(2*n)=2*J(n)-1 , n>=1

    (2)若刚开始序列中有奇数(2*n+1)个人,经过一轮后,序列为:3,5,7,...2*n+1 ,看作n个人的情况,序列号加倍加一 ,J(2*n+1)=2*J(n)+1 , n>=1

    递推式:

    J(1)=1;

    J(2*n)=2*J(n)-1 , n>=1

    J(2*n+1)=2*J(n)+1 , n>=1

    通过递推式打出表格:

    n

    1

    2 3

    4 5 6 7

    8 9 10 11 12 13 14 15

    J(n)

    1

    1 3

    1 3 5 7

    1 3 5  7 9  11 13 15

    猜想 J(pow(2,m)+l)=2*l+1 , m>=0 ,0<=l<pow(2,m) 通过数学归纳法证明该猜想

     

    待续。。。。。。。

  • 相关阅读:
    List<E> 接口简明
    equals方法的编写建议
    Set<E> 接口简明
    Map 接口简明
    Collections、Arrays 简明
    LinkedHashMap简明
    ThreadLocal应用示例
    大爽Python入门练习题 210 猜函数
    大爽Python入门练习题 21 检查五子相连
    大爽Python入门练习题 23 数字各位数求和
  • 原文地址:https://www.cnblogs.com/lemon-jade/p/8480820.html
Copyright © 2020-2023  润新知