冒泡、选择、插入、归并、快速、堆排序效率测试

来源:互联网 发布:centos 编译php7 编辑:程序博客网 时间:2024/05/19 00:49

总结:

这里写图片描述

  1. 冒泡、插入、归并都是稳定排序。
  2. 冒泡、选择、插入时间复杂度平均O(n^2)。
  3. 堆排、归并、快速时间复杂度平均O(nlogn)。

1.1、测试结果:

冒泡、选择、插入、归并、快速、堆排序同时测试情况:

Text Len    : 1(KB)Loop times  : 512        Bubble  Select  Insert  Merge   Quick   HeapTIME    0.00168 0.00121 0.00066 0.00012 0.00006 0.00008Text Len    : 5(KB)Loop times  : 512        Bubble  Select  Insert  Merge   Quick   HeapTIME    0.04672 0.03027 0.01648 0.00064 0.00025 0.00051Text Len    : 10(KB)Loop times  : 512        Bubble  Select  Insert  Merge   Quick   HeapTIME    0.22437 0.12041 0.06686 0.00117 0.00063 0.00098Text Len    : 20(KB)Loop times  : 512        Bubble  Select  Insert  Merge   Quick   HeapTIME    0.98561 0.48256 0.26738 0.00270 0.00125 0.00256

1.2、测试总结:

  1. 1KB数据时,快速排序比冒泡排序效率快28倍。
  2. 20KB数据时,快速排序比冒泡排序效率快788倍。
  3. 平均效率从高到低排列:快排>堆排>归并>插入>选择>冒泡。
  4. 快速排序、堆排序、归并排序效率差不多。

2.1、测试结果:

归并、快速、堆排序同时测试情况:

Text Len    : 1(KB)Loop times  : 512        Merge   Quick   HeapTIME    0.00012 0.00004 0.00014Text Len    : 10(KB)Loop times  : 512        Merge   Quick   HeapTIME    0.00133 0.00057 0.00105Text Len    : 100(KB)Loop times  : 512        Merge   Quick   HeapTIME    0.01533 0.00619 0.01186Text Len    : 1(MB)Loop times  : 512        Merge   Quick   HeapTIME    0.18219 0.07221 0.13699Text Len    : 10(MB)Loop times  : 512        Merge   Quick   HeapTIME    2.01551 0.81578 1.54770Text Len    : 100(MB)Loop times  : 512        Merge   Quick   HeapTIME    23.13582    9.02357 16.99146Text Len    : 10(MB)Loop times  : 512        Merge   Quick   HeapTIME    2.00828 0.81469 1.54682

2.2、测试总结:

1、10M数据排序时,快排平均效率>堆排>归并排序。

0 0
原创粉丝点击