Tôi đã đưa ra thuật toán này cho phép nhân ma trận. Tôi đọc ở đâu đó rằng phép nhân ma trận có độ phức tạp thời gian của o (n^2). Nhưng tôi nghĩ thuật toán này sẽ cho o (n^3). Tôi không biết cách tính thời gian phức tạp của vòng lặp lồng nhau. Vì vậy, hãy sửa tôi.Độ phức tạp của thuật toán nhân ma trận
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]
Điều đó 'b [i] [k]' có vẻ sai. Tôi nghi ngờ bạn muốn một cái gì đó như 'c [i] [j] + a [i] [k] * b [k] [j]' trên RHS của dòng cuối cùng. –
không chính xác. Ở đây c [i] [j] là ma trận kết quả – zedai
Vâng, trong trường hợp đó bạn chắc chắn không làm phép nhân ma trận! Lưu ý rằng đối với một 'i', bạn tính toán kết quả tương tự trong' c [i] [j] 'cho mỗi' j', vì vậy trong ma trận đầu ra của bạn 'c' tất cả các cột sẽ giống hệt nhau. Bạn cần thay thế 'b [i] [k]' bằng 'b [k] [j]' ở dòng cuối cùng. –