【问题标题】:How do you compute the run time for the naive solution for Matrix Chain Multiplication?您如何计算矩阵链乘法的简单解决方案的运行时间?
【发布时间】:2018-03-17 03:26:15
【问题描述】:

我正在研究矩阵链乘法。并且朴素的解决方案等价于问题的加泰罗尼亚数。

这就是它在解决方案中所说的。通过将括号问题减少到二叉树,天真的解决方案最终成为 O(2^n)。然后计算给定输入的所有二叉树。

我只是不明白你是如何从括号中的矩阵链乘法到二叉树的。我自己永远也想不通。

【问题讨论】:

  • 我想我明白你在说什么,这是一个有趣的问题。根据这个geeksforgeeks.org/…,它说您可以获取每个矩阵的维度并使用它来确定每个矩阵乘法将花费多少操作。
  • 这对我来说没有意义。用于运行时分析的二叉树方法似乎更加优雅。我只是有点震惊,因为我从来没有想过这样做,我觉得我缺乏一些理解。

标签: algorithm dynamic-programming matrix-multiplication catalan


【解决方案1】:

回答我自己的问题。二叉表达式树并不是一个新概念。我们正在处理二元运算,因此回想一下我们可以将括号转换为二元表达式树。然后问自己,有多少个二叉表达式树?

对 K-ary 表达式树的问题进行运行时分析可能​​很有趣。

【讨论】:

    猜你喜欢
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多