2017-08-29 5 views

答えて

0

外側ループの最初の反復では、内側ループはlog2(n)回実行されます。これは、kが2で除算(右シフト1)されているため、その値が指数関数的に減少するためです。

しかし、外側ループの他のすべての反復では、kの値は1よりも小さいので、内側ループは実行されません。

したがって、時間の複雑さはT(n) = Ө(n - 1) + Ө(log2(n)) = Ө(n)で与えられます。

関連する問題