zoukankan      html  css  js  c++  java
  • 插入快速混合排序法分析(算法导论7.4-5解答)

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

    本文讨论两个问题:

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

    O(nK+nlgn/k)

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

    本文做以下假设:

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

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

      1.快速排序法

    2.附录A

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

     

     

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

  • 相关阅读:
    Java 之 Junit 单元测试
    数据结构和算法概述
    数组模拟队列
    单链表
    链表(Linked List)
    其它/编程 error201599
    SQL Server 生成 数据字典 / 数据库文档
    其它/编程 error2016420
    其它/编程 error2016118
    MySQL 数据 导入到 SQL Service
  • 原文地址:https://www.cnblogs.com/hyd-desert-camel/p/3556090.html
Copyright © 2011-2022 走看看