总结:
- 冒泡、插入、归并都是稳定排序。
- 冒泡、选择、插入时间复杂度平均O(n^2)。
- 堆排、归并、快速时间复杂度平均O(nlogn)。
1.1、测试结果:
冒泡、选择、插入、归并、快速、堆排序同时测试情况:
Text Len : 1(KB)
Loop times : 512
Bubble Select Insert Merge Quick Heap
TIME 0.00168 0.00121 0.00066 0.00012 0.00006 0.00008
Text Len : 5(KB)
Loop times : 512
Bubble Select Insert Merge Quick Heap
TIME 0.04672 0.03027 0.01648 0.00064 0.00025 0.00051
Text Len : 10(KB)
Loop times : 512
Bubble Select Insert Merge Quick Heap
TIME 0.22437 0.12041 0.06686 0.00117 0.00063 0.00098
Text Len : 20(KB)
Loop times : 512
Bubble Select Insert Merge Quick Heap
TIME 0.98561 0.48256 0.26738 0.00270 0.00125 0.00256
1.2、测试总结:
- 1KB数据时,快速排序比冒泡排序效率快28倍。
- 20KB数据时,快速排序比冒泡排序效率快788倍。
- 平均效率从高到低排列:快排>堆排>归并>插入>选择>冒泡。
- 快速排序、堆排序、归并排序效率差不多。
2.1、测试结果:
归并、快速、堆排序同时测试情况:
Text Len : 1(KB)
Loop times : 512
Merge Quick Heap
TIME 0.00012 0.00004 0.00014
Text Len : 10(KB)
Loop times : 512
Merge Quick Heap
TIME 0.00133 0.00057 0.00105
Text Len : 100(KB)
Loop times : 512
Merge Quick Heap
TIME 0.01533 0.00619 0.01186
Text Len : 1(MB)
Loop times : 512
Merge Quick Heap
TIME 0.18219 0.07221 0.13699
Text Len : 10(MB)
Loop times : 512
Merge Quick Heap
TIME 2.01551 0.81578 1.54770
Text Len : 100(MB)
Loop times : 512
Merge Quick Heap
TIME 23.13582 9.02357 16.99146
Text Len : 10(MB)
Loop times : 512
Merge Quick Heap
TIME 2.00828 0.81469 1.54682
2.2、测试总结:
1、10M数据排序时,快排平均效率>堆排>归并排序。