c++ - Strassen 算法中的递归

标签 c++ algorithm recursion strassen

我想知道您将如何在 Strassen 算法中进行递归调用,以及它们究竟在哪里需要。

我知道 7 个乘法器比 8 个乘法器更有效,但我对如何递归计算这些乘法器感到困惑。特别是,如果我们遵循分而治之的范式,那么我们究竟要“划分”矩阵的哪一部分,以及在我们达到可以分别征服递归部分的基本情况之前,我们将如何进行划分?

谢谢!

最佳答案

我们在计算这 7 个乘数时进行递归调用。 首先,我们将矩阵的大小扩展为 2 的幂,然后在每一步中将每个矩阵分成 4 个部分。

关于c++ - Strassen 算法中的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838838/

相关文章:

C++ 标记 3D 对象数组中的连续部分

c++ - 删除单链表最后一个元素的递归方法?

python-3.x - 错误的合并排序实现

c - 二进制搜索算法的每次迭代是否可以只进行一次比较?

python - 邮票拼图

c++ - 关于使用单例 CRTP 的模板参数类型的内联静态成员,哪个编译器是正确的?

c++ - 对范围项使用 std::set 容器

c++ - 当我的相机远离物体时,为什么 OpenGL 会剔除我的多边形?

c++ - 如何安全地销毁 QThread?

algorithm - 计算图像的动态范围?