美文网首页
分治排序结合插入排序

分治排序结合插入排序

作者: 老虎Alex | 来源:发表于2016-07-21 13:37 被阅读45次

虽然分治排序的复杂度(n*lgn)要比插入排序(n*n)要好,但分治排序需要在数据量较大时才能体现这种优势,这样就可以对分治排序做个优化,当数据量较少时,则采用插入排序,详细见代码,通过测试分割点选定了50,也就是数组尺寸小于50时采用插入排序,得到的运行时间如下:

时间(in AlexdeiMac):

n=5000000,time=44s

n=10000000,time=100s

n=50000000,time=603s

对比之前的分治排序,时间如下:

时间(in AlexdeiMac):

n=5000000,time=53s

n=10000000,time=117s

n=50000000,time=646s

基本可以看到使用2种算法混合比单纯使用分治法有一定的效率提升

算法导论-分治法混合插入法

相关文章

  • 分治排序结合插入排序

    虽然分治排序的复杂度(n*lgn)要比插入排序(n*n)要好,但分治排序需要在数据量较大时才能体现这种优势,这样就...

  • #2 归并排序算法的简单分析

    简介 归并排序是一种使用分治策略的排序算法,相比于之前介绍的插入排序算法,分治算法在数据量较大的场景中速度要快很多...

  • 逻辑之美(4)_希尔排序

    希尔排序是一种改进后的,更高效的插入排序 开篇 本文最好结合上篇插入排序阅读,因为希尔排序其实是插入排序改进而来的...

  • Timsort详解

    原理介绍 TimSort是结合了合并排序(合并排序)和插入排序(插入排序)而得出的排序算法,它在现实中有很好的效率...

  • 排序之快排

    相比于冒泡排序、插入排序、选择排序这种时间复杂度为O(n2)的排序算法,快速排序的时间复杂度更快,它运用了分治的思...

  • 算法-插入排序

    算 法:插入排序算法时间复杂度: 插入排序算法描述 插入排序伪代码 插入排序实现 插入排序算法概述 插入排...

  • c算法O(n)^2(一)

    选择排序 插入排序 优化插入排序算法

  • java快速学习排序---插入排序

    1.java实现插入排序 (1)、图解插入排序 (2)、插入排序的思想 (3)、插入排序的代码实现

  • 算法(排序)

    一、内部排序 1、插入排序—直接插入排序(Straight Insertion Sort) 2、插入排序—希尔排序...

  • 4、Gnome sort侏儒排序

    冒泡和插入排序结合适合大部分排序完成后再随机插入小部分的再排序

网友评论

      本文标题:分治排序结合插入排序

      本文链接:https://www.haomeiwen.com/subject/zeebjttx.html