矩陣相乘的演算法的時間複雜度到底怎麼一回事 一點都不懂

2021-03-11 10:45:26 字數 1588 閱讀 3907

1樓:**盧

矩陣抄相乘的時間複雜度: 假設矩陣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)了》

2樓:匿名使用者

假設矩陣a是

i*j,矩bai陣b是j*k,a*b=c,則矩du陣c是i*k,這是三zhi重迴圈,首先矩陣c中共有

daoi*k個元素,則需要計算

回i*k次,然後每個元素是a的答j列和b的j行相乘之後再加起來,所以時間複雜度是o(i*j*k),頂我上去!

3樓:ih傑蘭特

前面的回答是錯的,bai矩du

陣乘法可以回去看看《線性代數》zhi

假設dao矩陣內a為n*m,矩陣b為m*n ,則axb計算時,a矩陣的第一行的第乙個

容元素要進行n次乘法運算,(而不是m次),a矩陣共有 n×m個元素,故總的需要n*m*n次乘法運算。若取 m=n,則時間複雜度為 o(n^3)

4樓:匿名使用者

哈哈,選我吧!假設矩陣a為n*m,矩陣b為m*n,則axb,如下計算過程:

1.矩陣a中第一行的元素版與矩陣b的第一列權元素對應相乘,得結果第一行的第乙個元素要進行m次乘法運算,故總的需要m*n*m次乘法運算。

2.計算時間複雜度。

即大o,執行上限。故o(n^3)

5樓:匿名使用者

假設矩陣a為n*m,矩bai陣b為m*n ,則axb,如下計算過du程:

1.矩陣zhia中第一行的元素與矩dao陣b的第一列元素對應相版乘,得

結果第權一行的第乙個元素要進行m次乘法運算,故總的需要m*n*m次乘法運算。

2.計算時間複雜度。

即大o,執行上限。故o(n^3)

6樓:金牛座的家庭

矩陣,bai是線性代數

中的基本概念之一du。乙個m×n的矩陣就zhi是m×n個數排成daom行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)

7樓:愛阪井泉水泉水

1+1=2 2+1=3

演算法的時間複雜度是指空間複雜度是指

時間複雜度指的是隨著資料規模的增大時間的增率,比如資料量為n,花的時間為n 2,複雜度就是n 2,同理空間複雜度指的是記憶體的開銷。最次的情況就是階乘級別的複雜度,這種演算法是不能用的。演算法的空間複雜度指的是什麼?空間複雜度 space plexity 是對乙個演算法在執行過程中臨時占用儲存空間大...

c語言演算法的時間複雜度如何計算啊

看看這個 每個迴圈都和上一層迴圈的引數有關。所以要用地推公式 設i n 表示第一層迴圈的i為n時的迴圈次數,注意到他的下一層迴圈次數剛好就是n,分別是0,1,2.n 1 所以,把每一層迴圈設乙個函式分別為 j n k n t n 則有 i n j 0 j n 1 j n k 0 k n 1 k n ...

同程式,因為計算不同問題,演算法時間複雜度可以不同嗎

可以比如快數排序。當資料基本有序時時間複雜度為o n 2 最好時為o log2n 2是下標,這個打不出來 同乙個演算法,可以編寫不同的程式,程式的執行時間不同,因此乙個演算法可以有多種不同的時間複雜性 因果關係不成立啊。時間複雜性和執行時間沒有直接的關係。比如同樣是o n 時間複雜度,乙個程式n 1...