big-Oカウント値Nの点で下記(A、Bは、N)アルゴリズムのオメガ(Ω(n))を時間の複雑Algorithm Count (A, B, n)Count(A、B、n)アルゴリズムのBig-O(O(n))およびBig-Omega(Ω(n))時間の複雑度
Iた以下
: アルゴリズムカウント(A、B、N)
Input: Arrays A and B of size n, where n is even.
A, B store integers. # of operations:
i <- 0 1
sum <- 0 1
while i < n/2 do n/2 + 1
if A[i + n/2] < 0 then n/2 + 1
for j <- i + n/2 to n do n/2 + n/2+1 + … + n = n(n+1)/2
sum <- sum + B[j] n/2 + … + n = n(n+1)/2
i <- i + 1 n/2 + 1
return sum _ _1______
アルゴリズムカウントは、O(n^2)およびΩ(n^2)のBig-OおよびBig-Omegaで実行されます。このアルゴリズムは、ネストされた「for」ループを含む。アルゴリズムカウントによって実行されるプリミティブ操作の最大数は、最悪の場合と最善の場合の両方で0.5n^2+ n + 1
です。
は基本的に私は私が採用方法が正しいか、別の方法は、より効率的かもしれかどうかを把握しようとしていますか?ありがとう – Silas
あなたは近くですが、答えは完全ではありません。ヒント:最良のケースと最悪のケースの複雑さはアルゴリズムで同じではありません(あなたが書き起こしたものと同じです)。 –
"複雑さを計算する方法のすべての必要な手順を表示してください。"それは私だけか、宿題のような音ですか? –