あなたが私がパートaをするのを手伝ってくれるなら、私はおそらくパートbを理解することができます。私はこれと同様の問題を一日中見てきましたが、ネストされたループをどうするかを理解するのに問題があります。最初のループにはn回の反復があり、2番目のループにはn-1があり、3番目のループにはn-1があります。これについて正しく考えていますか?
次のアルゴリズムを考えてみましょう。
これは、n個の整数a1、a2、...、anのシーケンスを入力として受け取り、
出力として行列M = {mij}を生成します。ここで、mijは
整数ai、a+1のシーケンスの
最小項です。
、...、aj for j>=iおよびmij=0それ以外の場合。
j>=iおよびmij=0の場合、mij=aiとなるようにMを初期化します。
for i:=1 to n do
for j:=i+1 to n do
for k:=i+1 to j do
m[i][j] := min(m[i][j], a[k])
end
end
end
return M = {m[i][j]}
(a)このアルゴリズムがBig-O(n ^ 3)比較を使用して行列Mを計算することを示します。
(b)このアルゴリズムがBig-Omega(n ^ 3)比較を使用して行列Mを計算することを示します。
この面とパート(a)を使用して、アルゴリズムがBig-theta(n ^ 3)比較を使用していると結論付けます。