1億數(shù)據(jù)量,哪種排序算法更快?敲個(gè)工具測下
????????之所以想到這個(gè)問題,是我覺得對各種排序算法的快慢好像沒有什么真切感知,只是停留在時(shí)間復(fù)雜度這個(gè)概念。為此我用Java寫了一個(gè)測試類(已上傳gitee),測試了常見的排序算法在不同 數(shù)量級下會有怎樣的耗時(shí),包括冒泡排序 、選擇排序、插入排序、希爾排序、歸并排序、快速排序、堆排序、計(jì)數(shù)排序、桶排序、基數(shù)排序等。

????????可以看到,隨著數(shù)據(jù)量的增加,可以看到有些算法還沒到十萬、百萬就有極大的耗時(shí),如冒泡算法在10w數(shù)據(jù)量時(shí)就有超過120000毫秒等于2分鐘的耗時(shí)。也有很多在千萬數(shù)據(jù)量下幾乎沒有區(qū)別。

1億數(shù)據(jù)量,耗時(shí)最短排名:
計(jì)數(shù)排序、快速排序、基數(shù)排序、希爾排序、歸并排序、堆排序、桶排序、插入排序、選擇排序、冒泡排序。
代碼: https://gitee.com/itxjiang/ordertest.git
制圖工具:https://www.67tool.com/chart/line