我在多个来源(在线和书籍)中遇到过这种情况 - 对于nXn大小的矩阵,方阵乘法的运行时间为O(n^3)。 (例如 - matrix multiplication algorithm time complexity)为什么定义为O(n^3)的矩阵乘法的时间复杂度?
该声明表明该乘法过程的运行时间的上限为C.n^3,其中C是某个常数,n> n0,其中n0是超出该上限的某个输入。 (http://en.wikipedia.org/wiki/Big_O_notation和What is the difference between Θ(n) and O(n)?) 问题是,我似乎无法推导出常数C和n0的值。
我的问题 -
有人可以提供的声明数学证明 '方形矩阵乘法的大哦O(N^3)'?
C和n0的值是多少?
对于每个单元格(n^2),您将遍历相应行和列中的n个单元格并将它们相乘,因此它是O(n^3)。 – nhahtdh
所以如果我们有2个矩阵A和B,每个矩阵都是nXn。 及其产品是尺寸为nXn的矩阵X. 你暗示对于X中的每个值(X中有n^2个值),你必须遍历A和B中总共n个元素? 或者更像是A中的n个元素和B中的n个元素,这会使n^4而不是n^3。 –
A中的n个元素和B中的n个元素,是的,但它总计高达2n,而不是n^2。所以最终的结果是O(n^3)。 – nhahtdh