因此,我们有矩阵链序算法,它找到了矩阵乘的最优方法。我明白为什么它的运行时间为O(n^3),但很难证明它的大-Omega(n^3)。该算法低于算法矩阵链阶(P)。
1. n ← p.length − 1
2. for i ← 1 to n do
3. m[i, i] ← 0
4. for l ← 2 to n do
5. for i ← 1 to n − l + 1 do
6. j ← i + l − 1
7. m[i, j] ← ∞
8. for k ← i to j − 1 do
9. q ← m[i, k] + m[k + 1, j] + pi−1pkpj (these are P(base)i-1
10. if q < m[i, j] then
11. m[i, j] ← q
12. s[i, j] ← k
13. return sO(n^3)很明显,因为有三个循环嵌套并运行O(n)次。我怎样才能找到大欧米茄(n^3)
发布于 2017-03-16 12:42:38
为了更好地理解问题,你可以看上去像这里。
你需要计算上方阵的元素。让我们看看这些次对角线:
因此,您有一个求和i( n ),对于0
现在减去n^3/6+.
所以,它是欧米茄(n^3)。
https://stackoverflow.com/questions/42821451
复制相似问题