插入快速混合排序法分析(算法导论7.4-5解答)

众所周知,快速排序法作为当下最优秀的排序法之一,在面对小数组时颇为无力,此时往往采用插入排序法。

本文讨论两个问题:

1.证明:当分割得到的子数组元素数量小于等于K时进行插入排序法,其时间复杂度为

O(nK+nlgn/k)

2.对k的取值进行一定的估算。

本文做以下假设:

1.lgn其实是以2为底的对数

2.本文实际上是对《算法导论》7.4-5习题的解答,所以其中的符号均来自《算法导论》,并假设读者对《算法导论》相关章节有必要的了解,本文涉及到《算法导论》中的内容包括:

  1.快速排序法

2.附录A

本题在官方给出的答案中并没有相应的解答,作者能力有限,尽力提出自己的见解,希望能为同样奋斗在算法中的通道做出些许帮助,如有数学上不严谨或者谬误之处,非常希望您能指出。

 

 

但更多的,对于k的取值,应该在实际中进行试验,个人试验结果,取7-10比较合适。

posted on 2014-02-19 16:06  desert-camel  阅读(1123)  评论(0编辑  收藏  举报