[置顶] 算法|算法性能实测(选择|插入|希尔)

12人阅读 评论(0) 收藏 举报
分类:

使用100w个随机数,

随机数文件地址为: 随机数文件

start sort...size 1048576

select cost 418258
Insert cost 94330 (优化过的插入排序,如果没有优化,可能需要两倍的时间! 插入排序优化)

Shell cost 193

随机数大小为 1048576 个数

选择排序:418s

插入排序:94s

希尔排序:193ms

可以看到希尔排序的巨大优势!将排序速度控制在了1s内,

对随机数来说,插入排序天然的就要快,因为随机数本身,肯定有一部分元素是有序的

而希尔排序更快的原因是,在100W数据中,进行了 797161, 265720......4....1(3*h+1)的多个跨度的插入排序,这样就

大大减少了移动和比较次数

如果不想下载,我把随机数生成和读取的代码地址 随机数生成和读取代码


查看评论

常见排序算法C++实现(冒泡,直接插入,希尔,堆,归并,简单选择,快排)

#include using namespace std; void swap(int &i,int &j)//实现i,j交换的函数 { i=i^j; j=i^j; i=i^j; } void ...
  • zhouwei1221q
  • zhouwei1221q
  • 2015-04-14 13:38:14
  • 415

各种排序算法(冒泡、选择、快排、插入、希尔、堆排、归并、计数、基数)

各种排序算法
  • wanglelelihuanhuan
  • wanglelelihuanhuan
  • 2016-05-07 22:42:55
  • 3552

Java实现的排序算法及比较 [冒泡,选择,插入,归并,希尔,快排]

冒泡排序: public void bubbleSort(){//O(n^2) //每一趟的比较一次就可能交换一次 for(int i=0;i...
  • lingzhm
  • lingzhm
  • 2015-03-09 20:23:13
  • 1319

排序算法(选择、希尔、二分插入、冒泡、直接插入、快速排序)

选择排序法                                                                                    第1趟,在待排序...
  • especialjie
  • especialjie
  • 2016-09-22 11:21:44
  • 1764

算法最简单之希尔算法

公共函数: less: public static boolean less(Comparable v , Comparable w){ return v.compareTo(w) < 0; }...
  • laokdidiao
  • laokdidiao
  • 2016-07-31 21:19:02
  • 1069

Java 常用算法实现

  • 2009年07月09日 17:04
  • 8KB
  • 下载

七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)

写在前面:                  排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。因此排序掌握各种排序算法非常重要。...
  • To_Be_IT_1
  • To_Be_IT_1
  • 2014-07-16 08:01:40
  • 5142

C#排序算法冒泡 选择 插入 希尔

  • 2010年05月06日 19:20
  • 26KB
  • 下载

算法小节(排序)6种 低级到高级

  • 2009年04月01日 20:12
  • 12KB
  • 下载

五种排序方法(选择、冒泡、快排、插入、希尔)

*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Wo...
  • vcx08
  • vcx08
  • 2016-07-29 21:40:35
  • 1244
    个人资料
    等级:
    访问量: 4394
    积分: 325
    排名: 24万+
    文章存档
    最新评论