繁体   English   中英

动态编程-最佳断点

[英]dynamic programming - optimal break point

我了解到,使用动态规划,矩阵链乘法问题可以在n ^ 3的时间内解决,而对于最佳二叉树问题,我们也可以得到n ^ 3的时间,但是可以将其优化为n ^ 2。 为什么是这样? 我得到一条说法,这是因为在矩阵乘法问题中,链M(i,n)的最佳断点可能大于链M(i + 1,n)的最佳断点。 有人可以帮我理解吗? 为什么在矩阵乘法问题中而不是在最佳二叉树问题中如此?

谢谢

给定键间隔I1作为I2的子间隔,则I1上的最佳二叉树的查询成本不大于I2上的最佳二叉树的查询成本(这应该是很直观的,但从形式上讲, I2的最佳树,并通过标准算法反复从中删除密钥)。 这意味着您可以将找到最佳断点的过程看作是两半之间的一种平衡过程。

对于矩阵链而言并非如此:乘以(100,100),(100,100)的成本远大于(100,100),(100,100),(100,1),因为两个矩阵向量乘法比矩阵间便宜得多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM