我正在做一個關于演算法效率的實驗,所以當我運行下面的代碼時,我使用了不同大小的整數資料,比如 512,1024,2048,..,131072,251281
for (int i=0; i<experiment.length; i ) {
System.out.println("experiment number : " i);
for (int j = 0; j < 10; j ) {
ArrayList<Integer> exp_array = new ArrayList<>();
if(i==9){
exp_array.addAll(array.subList(0, experiment[i]));
}else {
exp_array.addAll(array.subList(0, experiment[i] 1));
}
long startTime = System.currentTimeMillis();
insertionSort.sort(exp_array);
long elapsedTime = System.currentTimeMillis() - startTime;
resultsInsertion1.add(elapsedTime);
if(j==9){
sortedArrays.add(exp_array);
}
}
averageResultsInsertion1.add(avarage.findAverage(resultsInsertion1));
resultsInsertion1.clear();
}
System.out.println(averageResultsInsertion1);
// insertion2
ArrayList<Long> resultsInsertion2 = new ArrayList<>();
ArrayList<Long> averageResultsInsertion2 = new ArrayList<>();
for (int i=0; i<experiment.length; i ) {
System.out.println("experiment number : " i);
for (int j = 0; j < 10; j ) {
long startTime = System.currentTimeMillis();
insertionSort.sort(sortedArrays.get(i));
long elapsedTime = System.currentTimeMillis() - startTime;
resultsInsertion2.add(elapsedTime);
}
averageResultsInsertion2.add(avarage.findAverage(resultsInsertion2));
resultsInsertion2.clear();
}
System.out.println("insertion 2 : " averageResultsInsertion2);
averaResultsInsertion2 給了我用零填充的陣列但是當我在除錯模式下運行代碼時它可以作業我該如何解決這個問題?
PC:MacBook Air 2017 IDE:Intellij 2022
uj5u.com熱心網友回復:
ResultsInsertion2 以毫秒為單位填充了經過的時間,因此如果您的排序在一毫秒內執行,您將獲得 .. zeros
ps : 下次請格式化你的代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/440190.html
上一篇:IntelliJ中缺少工具列
