求乙個矩陣中最大的二維矩陣 元素和最大

2021-06-09 22:17:13 字數 1070 閱讀 2645

一,題目:

求乙個矩陣中最大的

二維矩陣

(元素和最大).如

:1 2 0 3 4

2 3 4 5 1

1 1 5 3 0

中最大的是

:4 5

5 3要求

:(1)

寫出演算法

;(2)

分析時間複雜度

;(3)用c

寫出關鍵**

二,分析:

假設最大子矩陣的結果為從第r行到

k行、從第i列到

j列的子矩陣,

如下所示

(ari

表示a[r][i],

假設陣列下標從1開始

):| a11 …… a1i ……a1j ……a1n |

| a21 …… a2i ……a2j ……a2n |

.....

| ar1 …… ari ……arj ……arn |    第r

行. . .

..........                            | 

v| ak1 …… aki ……akj ……akn |   第k

行. . .

.....

| an1 …… ani ……anj ……ann |

那麼我們將從第

r行到第

k行的每一行中相同列的加起來,可以得到乙個一維陣列如下:

(ar1+……+ak1, ar2+……+ak2, ……,arn+……+akn)

由此我們可以看出最後所求的就是此一維陣列的最大子段和問題,

到此我們已經將問題轉化為上面的已經解決了的問題了。

三,原始碼(以下原始碼是求n行n列矩陣最大子矩陣**)

#include using namespace std;

int maxsubarray(int a,int n)

return sum;

}int maxsubmatrix(int array[3],int n)}}

return sum;

}int main()

,,};

cout<<"maxsum: "<

求乙個矩陣中最大的二維矩陣 元素和最大

35.矩陣 求乙個矩陣中最大的二維矩陣 元素和最大 如 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是 4 55 3 要求 1 寫出演算法 2 分析時間複雜度 3 用c寫出關鍵 遍歷每個二維矩陣,記錄和最大的index。時間複雜度o m n coder lee,2012032...

求乙個矩陣中最大的二維矩陣 元素和最大

求乙個矩陣中最大的二維矩陣 元素和最大 如 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是 4 55 3 要求 1 寫出演算法 2 分析時間複雜度 3 用c寫出關鍵 public class maxsubmatrix int b int result msm.findsumm...

35 求乙個矩陣中最大的二維矩陣

求1個矩陣中最大的二維矩陣 1。單就這一題來說,首先方法就是遍歷 include using namespace std int a 5 int m 3 int n 5 void max matrix void cout 矩陣是 1 1 s 1 s 1 int main void 還有1種情況,給定...