私は昨日以来この本を勉強しています。最初のアルゴリズムを理解して適用した後、私は自分自身に行き、別の方法で見てみました。ここではJavaの、示されたアルゴリズムでは、です:ソートアルゴリズムはH.Cormenの書籍の「Introduction to Algorithms」より速いのはなぜですか?
public static int[] sort(int[] array)
{
for(int i = 1; i < array.length; i++){
int value = array[i];
int j = i - 1;
while(j >= 0 && array[j] > value){
array[j + 1] = array[j];
j--;
}
array[j+1] = value;
}
return array;
}
そして、ここでは私のものです:
public static int[] sortb(int[] array)
{
for(int i = 0; i < array.length; i++){
int value = array[i];
int j = i;
while(j < array.length && value > array[j]){
array[j] = array[j + 1];
j++;
}
array[j] = value;
}
return array;
}
それぞれの関数呼び出しの100万のために、私は2番目のための第1のための32ミリと25ミリ秒を得ました。私はまだアルゴリズムから始まっているので、意味は分かりません。
実際には意味がありません。私はアルゴリズムに集中し、速度の測定に集中するのにもっと時間を費やすでしょう。どのように正しく測定するのかわからない場合は、あらゆる種類の結果を得ることができ、無意味な意味を見つけようと時間を無駄にします。 – Kayaman
@FarazDurrani教授がアルゴリズムを教えるとき、私はかなり悪い測定によって得られたミリ秒よりも「ビッグ・オー」に興味があると確信しています。 – Kayaman
私は教授とは仕事していませんが、自分自身で – Despirithium