排序演算法 之 效率測試

2021-07-26 16:54:04 字數 1309 閱讀 6119

前面我們寫了常見的幾種排序演算法,並分析了各種演算法的實現思想,及時間複雜度等情況,但由於只是分析,木有實際的資料做對比測試,所以對各個演算法的效率也沒有乙個明確的概念,下面我們就通過具體的測試來看看同演算法之間的效率差距。

宣告11個長度為100的元素取值範圍為0到1000的序列

int length = 100

;int testarray1 = new

int[length];

int testarray2 = new

int[length];

int testarray3 = new

int[length];

int testarray4 = new

int[length];

int testarray5 = new

int[length];

int testarray6 = new

int[length];

int testarray7 = new

int[length];

int testarray8 = new

int[length];

int testarray9 = new

int[length];

int testarray10 = new

int[length];

int testarray11 = new

int[length];

random random = new

random();

for (int i = 0; i < length; i++)

執行測試,測試結果截圖:

乍一看,幾種演算法之間效率好像木有差別,設定前幾種時間複雜度比較高的演算法還要快一點。別急,讓我們增加序列中的元素數量再試一下,把length =100改為length =1000再次執行測試,結果截圖:

結果已經可以看出,時間複雜度低的演算法是領先的,但效果好像不太明顯。讓我們把把length =1000改為length =10000再次執行測試,測試結果截圖:

這次測試結果已經有了質的改變,相信通過測試大家對不同時間複雜度演算法之間的效率已經有了乙個清晰的概念。

演算法效率測試 以排序演算法為例

在慕課網學習了一段時間後,覺得可以了,借鑑講師們說的和自己的經驗,總結下如何測試乙個程式 的效率和開銷問題。以排序演算法為例,具體分析如下 main 函式,cpp檔案 created by ant on 07 16 2017 預設排成公升序 include include include sortt...

排序演算法效率分析

目錄 排序方法 時間複雜度 平均 時間複雜度 最壞 時間複雜度 最好 空間複雜度 穩定性氣泡排序 o n2 o n2 o n o 1 穩定選擇排序 o n2 o n2 o n2 o 1 不穩定插入排序 o n2 o n2 o n o 1 穩定希爾排序 o n1.3 o n2 o n o 1 不穩定快...

幾種排序演算法及其效率對比

public class bubblesort sort arr system.out.println arrays.tostring arr long start system.currenttimemillis sort arr long end system.currenttimemillis...