2017-06-14 16 views
0

このアルゴリズムでは、NのTime ComplexityまたはBig OはO(n),O(log n)などになるでしょうか?ここ対数時間複雑度

コード:

int i = 1; 

while(i*i <= n){ 

    System.out.println(i); 
    i += 2; 

} 
+1

ループはおよそsqrt(n)/ 2回反復するので、その複雑さはO(sqrt(n))です。 – xunatai

答えて

0

What does O(log n) mean exactly? にし、wikiページLinear_timeに提供されている例に見てください。複雑さを数える方法をよく説明しています。 それによれば、あなたのアルゴリズムの複雑さはO(n)になります。なぜなら、提供された 'n'変数に依存する1つのループがあるからです。

+0

しかし、このアルゴリズムの実行回数は、i * Iがn以下であることに基づいており、毎回iが2ずつ増加します。 – Makasulee