そのような問題にどのようにアプローチするのですか?私はO(n),O(n^2)などと基本的な時間の複雑さを知っていますが、O(m^2 *(log(n))^ 2)のアルゴリズムを作成する方法は、 O(log(n^2/m))?与えられた時間の複雑さでアルゴリズムを作成してください
は右例えばそれです: O(M^2 *(ログ(N))^ 2)
for(i=0; i<m; i++)
for(j=0; j<m; j++)
for(k=0; k<n; k*=2)
for(l=0; l<n; l*=2)
something()
何秒約1?
編集:もう一つは((N^2/m)のログ)= O(ログ(N)+ログ(N/M))
単にそのOのようなものであるため
for(i=n;i>0;i/=2);
for(j=n/m;j>0;j/=2);
「for(k = 1; k
RBarryYoung
@RBarryYoungああ、ありがとう!もう1つはどうですか? – Blagch
** O(log(n^2/m))**は** O(log(n)* 2-log(m))**と同じです。 – RBarryYoung