矩阵相乘的算法的时间复杂度到底怎么一回事?一点都不懂!
展开全部
矩阵相乘的时间复杂度: 假设矩阵A是n*m,矩阵B是m*p,矩阵A和B相乘得到矩阵C是n*p 矩阵C中有n*p个元素,计算每个元素需要m次乘法运算 因此总共的时间复杂度为m*n*p 这是最好理解的了
矩阵相dao乘最重要的方法当然是du一般矩阵乘积zhi了,它只有在第dao一个矩版阵的行数和第二个矩权阵的列数相同时才有定义。一般单指矩阵乘积时,指的便是一般矩阵乘积。若A为m×n矩阵,B为n×p矩阵,则他们的乘积AB(有时记做A · B)会是一个m×p矩阵。
而AB中的元素是这样得来的:设AB中的AB(i,j)=A第i行乘以B的第j列,<就是A第i行的每个元素分别对应乘以B的第j列的每个元素再全部相加所得到的和就是AB中的AB(i,j)了>
展开全部
矩阵,是线性代数中的基本概念之一。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。只有当矩阵A的列数与矩阵B的行数相等时A×B才有意义。一个m×n的矩阵a(m,n)左乘一个n×p的矩阵b(n,p),会得到一个m×p的矩阵c(m,p)。左乘:又称前乘,就是乘在左边(即乘号前),比如说,A左乘E即AE。
假设矩阵A为n*m,矩阵B为m*n ,则AxB,如下计算过程:
1.矩阵A中第一行的元素与矩阵B的第一列元素对应相乘,得
结果第一行的第一个元素要进行m次乘法运算,故总的需要m*n*m次乘法运算.
2.计算时间复杂度.
即大O,运行上限.故O(n^3)
假设矩阵A为n*m,矩阵B为m*n ,则AxB,如下计算过程:
1.矩阵A中第一行的元素与矩阵B的第一列元素对应相乘,得
结果第一行的第一个元素要进行m次乘法运算,故总的需要m*n*m次乘法运算.
2.计算时间复杂度.
即大O,运行上限.故O(n^3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前面的回答是错的,矩阵乘法可以回去看看《线性代数》
假设矩阵A为n*m,矩阵B为m*n ,则AxB计算时,A矩阵的第一行的第一个元素要进行n次乘法运算,(而不是m次),A矩阵共有 n×m个元素,故总的需要n*m*n次乘法运算。若取 m=n,则时间复杂度为 O(n^3)
假设矩阵A为n*m,矩阵B为m*n ,则AxB计算时,A矩阵的第一行的第一个元素要进行n次乘法运算,(而不是m次),A矩阵共有 n×m个元素,故总的需要n*m*n次乘法运算。若取 m=n,则时间复杂度为 O(n^3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设矩阵A是i*j,矩阵B是j*k,A*B=C,则矩阵C是i*k,这是三重循环,首先矩阵C中共有i*k个元素,则需要计算i*k次,然后每个元素是A的j列和B的j行相乘之后再加起来,所以时间复杂度是O(i*j*k),顶我上去!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-12-12
展开全部
矩阵相乘的时间复杂度:
假设矩阵A是n*m,矩阵B是m*p,矩阵A和B相乘得到矩阵C是n*p
矩阵C中有n*p个元素,计算每个元素需要m次乘法运算
因此总共的时间复杂度为m*n*p
这是最好理解的了
假设矩阵A是n*m,矩阵B是m*p,矩阵A和B相乘得到矩阵C是n*p
矩阵C中有n*p个元素,计算每个元素需要m次乘法运算
因此总共的时间复杂度为m*n*p
这是最好理解的了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |