【组合数学】递推方程 ( 递推方程示例 2 汉诺塔 | 递推方程示例 3 插入排序 )

2023-03-28 18:28:33 浏览数 (1)

文章目录

  • 一、递推方程示例 2 汉诺塔
  • 二、递推方程示例 3 插入排序

一、递推方程示例 2 汉诺塔


Hanoi 问题 :

  • 递推方程为 :
T(n) =2 T(n-1) 1
  • 初值 :
T(1) = 1
  • 解 :
T(n) = 2^n - 1

该递推方程表示 , 将

n

个盘子的移动次数

T(n)

, 与

n-1

个盘子的移动次数

T(n-1)

之间的关系 ;

解法参考 : 【组合数学】递推方程 ( 特特解示例 ) 一、特解示例 1 ( 汉诺塔 )

二、递推方程示例 3 插入排序


W(n)

表示在最坏的情况下插入排序的次数 ;

前面的

n-1

个数已经排好了 , 其在最坏的情况下插入排序次数是

W(n-1)

次 ,

n

个数字要插入到这

n-1

个数字中 , 最坏的情况是 要插入的数字要与所有的已排序好的

n-1

个数字进行比较 , 对比次数是

n-1

次 ,

因此递推方程可以写成 :

W(n) = W(n-1) n-1

递推方程初值 :

W(1) = 0

, 如果只有一个数字 , 不用进行排序 , 对比次数是

0

;

最终解为 :

W(n) = O(n^2)

, 精确值为

W(n) = cfrac{n(n-1)}{2}

0 人点赞