插入快速混合排序法分析(算法导论7.4-5解答)
2017-09-10 00:00
281 查看
众所周知,快速排序法作为当下最优秀的排序法之一,在面对小数组时颇为无力,此时往往采用插入排序法。
本文讨论两个问题:
1.证明:当分割得到的子数组元素数量小于等于K时进行插入排序法,其时间复杂度为
O(nK+nlgn/k)
2.对k的取值进行一定的估算。
本文做以下假设:
1.lgn其实是以2为底的对数
2.本文实际上是对《算法导论》7.4-5习题的解答,所以其中的符号均来自《算法导论》,并假设读者对《算法导论》相关章节有必要的了解,本文涉及到《算法导论》中的内容包括:
1.快速排序法
2.附录A
本题在官方给出的答案中并没有相应的解答,作者能力有限,尽力提出自己的见解,希望能为同样奋斗在算法中的通道做出些许帮助,如有数学上不严谨或者谬误之处,非常希望您能指出。
但更多的,对于k的取值,应该在实际中进行试验,个人试验结果,取7-10比较合适。
本文讨论两个问题:
1.证明:当分割得到的子数组元素数量小于等于K时进行插入排序法,其时间复杂度为
O(nK+nlgn/k)
2.对k的取值进行一定的估算。
本文做以下假设:
1.lgn其实是以2为底的对数
2.本文实际上是对《算法导论》7.4-5习题的解答,所以其中的符号均来自《算法导论》,并假设读者对《算法导论》相关章节有必要的了解,本文涉及到《算法导论》中的内容包括:
1.快速排序法
2.附录A
本题在官方给出的答案中并没有相应的解答,作者能力有限,尽力提出自己的见解,希望能为同样奋斗在算法中的通道做出些许帮助,如有数学上不严谨或者谬误之处,非常希望您能指出。
但更多的,对于k的取值,应该在实际中进行试验,个人试验结果,取7-10比较合适。
相关文章推荐
- 插入快速混合排序法分析(算法导论7.4-5解答)
- 关于线性移位寄存器和快速相关攻击中的算法A和算法B详细分析解答
- MIT:算法导论——4.2快速排序 以及 排序算法时间复杂度分析
- 【算法导论】排序 (三):快速排序 深入分析
- 用objective-c 实现常用算法(冒泡、选择、快速、插入)
- 算法导论:快速排序代码
- 插入排序的算法分析
- 常见的算法快速分析解决(一)
- 路由表的结构与算法分析--trie插入
- 算法导论8.3-4习题解答(基数排序)
- YUV / RGB 格式分析及快速查表算法设计
- rbtree插入算法分析
- 数据结构和算法分析习题解答之一——引言
- 循环队列的实现与分析,两种方法,算法导论10.1-4
- YUV / RGB 格式分析及快速查表算法设计
- YUV / RGB 格式分析及快速查表算法设计
- 算法导论1:插入排序和归并排序 2016.1.1
- 【算法导论】2-1 插入排序insertion-sort.cpp
- 快速排序之算法导论实现
- 算法导论 第三章 函数的增长,3.1练习个人解答(Sor)