LZ是菜鸟一枚,非计算机专业学生,正在学习算法导论这本书,希望养成学习完一个问题之后进行归纳整理的习惯,所以开始了博客之路,内容都是最基础的笔记,如果发现错误希望你能慷慨的帮我指出来,这样我才能改正并进步哦。
话不多说 下面是第二次记录么么哒
问题描述
实现两个 n 维方阵
cij=∑k=1naikbkj
使用的算法
分治策略。
如果直接进行计算, C 中共有
SQUARE-MATRIX-MULTIPLE(A,B)
n=A.rows 计算方阵的行数和列数
let
for i=1 to n
for j=1 to
cij =0
for k=1 to n
return C
上述代码中总共有三重循环,每一层循环都执行
简单地分治
首先我们先考虑一个比较简单直观的分治算法,简单起见将三个矩阵的维数 n 设为2的幂,并且简单的将每个矩阵分别划分为四个子矩阵的形式,如下: