私は現在、いくつかのアルゴリズムを研究して実装しようとしています。私は、ランダウの記号を理解しようとしていると私は下のアルゴリズムのためのビッグOの複雑さを把握することはできません。(数学者ではありません)ほとんどの人は、その原料を見つける必要がありませんビッグOの表記法とアルゴリズム
while (a != 0 && b != 0)
{
if (a > b)
a %= b;
else
b %= a;
}
if (a == 0)
common=b;
else
common=a;
このバインドが厳しいことを示すために、 'O(log m)'ステップが必要な数字の例を追加することもできればうれしいです。 – liori
上記のコードにコメントを追加できますか?あなたはこの結論にどのようにできるかを示すことができます。 –
@tristanなぜこのように数字の最小値が減少するのでしょうか? a> bとし、1回の反復の後に最小値はc = a%bであり、2回反復した後はb%cである。 c <= b/2ならば、b%c b/2の場合、b%c = b-c
adamax