幾種排序演算法執行時間比較

2021-05-28 11:47:36 字數 682 閱讀 2777

最近無聊,把各種排序演算法在linux下用c實現了,並記錄其執行時間如下:

對10m個無符號隨機整數進行排序,各種演算法的時間如下:

qsort:(c標準庫自帶函式)

real    0m5.901s

user    0m5.548s

sys        0m0.300s

merge_sort:

real    0m5.757s

user    0m5.328s

sys        0m0.396s

heap_sort:

real    0m10.299s

user    0m9.932s

sys        0m0.263s

quick_sort:

real    0m5.399s

user    0m5.059s

sys        0m0.299s

radix_sort:(使用計數排序的基數排序)

real    0m4.383s

user    0m4.007s

sys        0m0.330s

可見,效能最好的當然還是線性的基數排序,

三種o(n*lgn)演算法中,快排是最快的,歸併跟它差不多,但是堆排要慢一倍左右。

選擇、插入、冒泡這三種平方複雜度演算法均跑了幾分鐘都沒有跑完。。。

一億以上資料幾種排序演算法執行時間比較

執行結果如下圖 單位ms insert 只排了8萬及以下資料 heap 參考演算法導論,maxheapify採用迭代取代遞迴 shell 增量遞減序列採用1 2 3k 1 1 2 3 k 1 1 2 3k 1 形式 shell is incerpi sedgewick提出的增量遞減序列 139137...

練習 不同排序演算法執行時間比較

插入 template typename datatype void insert datatype d,int length d i 1 key 插入剛剛的key值 注意是i 1 們將d 0 作為哨兵元素,儲存待排序元素 include include void swap int a,int b ...

flask和django的執行時間比較

flask和django的執行時間比較 flask介面 from flask import flask,request import json defadd args a,b return a b get tasks methods post defget tasks if request.meth...