Search code examples
algorithmtime-complexitymatrix-multiplication

matrix multiplication algorithm time complexity


I came up with this algorithm for matrix multiplication. I read somewhere that matrix multiplication has a time complexity of o(n^2). But I think my this algorithm will give o(n^3). I don't know how to calculate time complexity of nested loops. So please correct me.

for i=1 to n
   for j=1 to n    
     c[i][j]=0
     for k=1 to n
         c[i][j] = c[i][j]+a[i][k]*b[k][j]

Solution

  • The naive algorithm, which is what you've got once you correct it as noted in comments, is O(n^3).

    There do exist algorithms that reduce this somewhat, but you're not likely to find an O(n^2) implementation. I believe the question of the most efficient implementation is still open.

    See this wikipedia article on Matrix Multiplication for more information.