兩種排序方法的效率比較

2022-03-18 05:24:35 字數 2019 閱讀 7264

前提:筆記本測試,效能一般,測試前開了好多記憶體殺手。

唯一變數:陣列的長度,其餘各項均不發生變化。

此測試不具有一般性:資料量太少,實驗重複次數不夠,沒有空白對比試驗(~聽著怎麼像是生物實驗了)。如果感興趣,可以自己做重複實驗。

第一種,經典的氣泡排序,**如下:(a)

long start = system.currenttimemillis();

int num = new int[10000];

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

//排序

for(int i = 0; i < num.length - 1; i++)

}

}

long end = system.currenttimemillis();

system.out.println(num[num.length - 1]);

system.out.println(end - start);

第二種,另一種排序方法:(b)

long start = system.currenttimemillis();

int num = new int[1000];

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

//排序

for (int a = 0; a < num.length; a++)

}

}

long end = system.currenttimemillis();

system.out.println(num[num.length - 1]);

system.out.println(end - start);

測試方法為:

分別將陣列的長度設定為1,000、10,000、100,000三種,本來還想測試1,000,000長度的執行時間,可是時間太長,只好測試這三種了。

測試結果如下:

1,長度為10,00時,兩種**執行時間為:

a:49、31、31、62、31、31、31、31、31、32

b:31、32、32、31、47、31、47、47、31、31

2,長度為10,000時,兩種**的執行時間為:

a:452、452、453、437、452、452、453、452、452、452、437、436

b:218、172、171、188、203、187、187、187、203、187、188、187

3,長度為100,000時,兩種**的執行時間為:

a:23650、23683、27146、28035、23667、28020、23603、28033、28036、28064、26974、27410、23493、23650

b:14573、14570、12168、12217、14602、20593、14695、17004、16975、16209、12215、14556、18161、14573

粗略統計下,分析如下:

1:對於1000組的測試,由於陣列過於小了,測試結果並不明顯,這也是我列舉的資料量少的原因(敲數字太辛苦,懶的再寫);

2:對於10000組的結果分析,得出b組比a組大約快了273毫秒,這個結果有點意思了;

3:對於第三組,差距就明顯的多了,b組比a組快了將近10秒!是秒(s),不是毫秒(ms)!這才多大的資料量啊,如果進行100萬的測試,估計差距更加大(機器不行,太耗時間,就沒測試了)。

至於原因麼,我也不知道,你信嗎?

ps:如果你的機器測試結果比我的還要快,那麼,並沒有什麼卵用。

只要結果一致就行了。結果也不相同?告訴我你家住哪,我保證不砸你的電腦。(開玩笑)

pps:寫完之後才發現,我竟tm這麼無聊的做這個混蛋測試。真是閒的了。

Python兩種列表翻轉方法的效率比較

python兩種列表翻轉方法的效率比較 編寫乙個python程式,實現將一堆數字新增到乙個初始為空的列表中,然後翻轉該列表。方法一 使用列表的reverse 方法實現 方法二 使用列表的insert 方法實現 nums2 for i in range count nums2.insert 0,i 在...

兩種分頁SQL效率比較

資料庫版本 oracle9i r9.2.0.6 兩種方案 1.select from select a.rownum rn from select from table a where rn 20 and rn 10 2.select from select a.rownum rn from sel...

兩種排序方法

題目描述 考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法 1.根據字串的字典序排序。例如 car carriage cats doggies koala 2.根據字串的長度排序。例如 car cats koala doggies carriage 考拉想知道自己的...