赞
踩
测试环境:CPU: i5-3210M 2.5GHz 2.5GHz; 内存:4G; Win10 64位系统; VS 2015 release模式 32位。
测试数据均为 int 类型:
取值规则为:(rand() % (N)) * 3 - rand() % (N)
红色字体表示该排序算法仅仅支持非负整数,取值规则为: (rand() % (N)) * 3;
数组大小 | 1w | 10w | 100w | 1000w | 1亿 | 平均时间复杂度 | 空间复杂度 |
---|---|---|---|---|---|---|---|
未改进的冒泡排序 | 0.14 | 15.85 | - | - | - | O(n2) | O(1) |
改进的冒泡排序 A | 0.13 | 14.66 | - | - | - | O(n2) | O(1) |
改进的冒泡排序 B | 0.13 | 14.48 | - | - | - | O(n2) | O(1) |
改进的冒泡排序 C | 0.09 | 10.15 | - | - | - | O(n2) | O(1) |
选择排序 | 0.04 | 3.53 | - | - | - | O(n2) | O(1) |
直接插入排序 | 0.02 | 1.76 | - | - | - | O(n2) | O(1) |
折半插入排序 | 0.02 | 1.77 | - | - | - | O(n2) | O(1) |
希尔排序 | 0.001 | 0.015 | 0.27 | 3.54 | 61.31 | O(nlogn) | O(1) |
二路快速排序 | 0.001 | 0.01 | 0.09 | 0.88 | 9.03 | O(nlogn) | O(1) |
归并排序 递归版本 | 0.002 | 0.03 | 0.29 | 2.68 | 28.69 | O(nlogn) | O(n) |
归并排序 递归版本 A | 0.001 | 0.012 | 0.16 | 1.44 | 15.12 | O(nlogn) | O(n) |
归并排序 迭代版本 | 0.001 | 0.01 | 0.14 | 1.37 | 14.43 | O(nlogn) | O(n) |
堆排序 递归调整版本 | 0.001 | 0.012 | 0.23 | 2.76 | 37.02 | O(nlogn) | O(1) |
堆排序 迭代调整版本 | 0.001 | 0.01 | 0.18 | 2.45 | 33.76 | O(nlogn) | O(1) |
计数排序 | - | 0.001 | 0.007 | 0.058 | 0.59 | O(n+k) | O(k) |
桶排序 | 0.001 | 0.01 | 0.13 | 0.93 | 9.42 | O(n+k) | O(n+k) |
基数排序 10为基数 | 0.001 | 0.008 | 0.07 | 0.7 | 7.48 | O(n·k) | O(n+k) |
基数排序 2^k 为基数 | - | 0.002 | 0.03 | 0.2 | 2.12 | O(n·k) | O(n+k) |
(* 红色字体表示该排序算法仅仅支持非负整数排序,该数据为非负整数排序的结果)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。