动态编程:矩阵链乘法

时间:2011-11-08 12:58:44

标签: algorithm

我正在阅读Cormen等关于动态规划的算法简介。

这是一段文字摘要,提供了一些背景

  

矩阵链乘法的问题表现出最优   子。我们观察到A1 A2 ... An的最佳括号在Ak和Ak + 1之间分裂产物,其中包含括号A1 A2 ... A k和Ak + 1 Ak + 2的问题的最优解。 。 。一个。

在矩阵链乘法的书中,有θ(n平方)子问题。

我的问题是作者是如何想出的那样有n个方子问题? 任何人都可以举例说明我们是如何做到这一点的吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

每个子问题都涉及解决矩阵Ai, Ai+1, ..., Aj-1, Aj的连续子序列的问题。该子序列的特征在于两个索引ij。由于每个都有n种可能的选择,因此子问题的数量是theta(n 2 )。由于约束n(n+1)/2,确切的数字为i <= j