最大聯通子陣列(結對開發)

2022-07-18 13:39:15 字數 1770 閱讀 5433

題目:返回乙個二維整數陣列中最大聯通子陣列的和。

要求:檔案讀入陣列。

結對開發的夥伴:

部落格名:mr.繆

姓名:繆金敏

分析:把二維陣列看成乙個個節點,使用深度優先遍歷,遞迴遍歷所有節點,設乙個變數每訪問一節點加上它的值,這個值與最大值比較,記錄較大值,迴圈完後便是最大值。用檔案輸入流來讀檔案裡存好的行列和陣列。

**: 

1

//最大子陣列3 求乙個二維陣列的最大聯通子陣列2//

王文奇 繆金敏2016/4/4

3 #include4 #include5

using

namespace

std;

6#define max 1000078

introw;

9int

col;

10int

graph[max][max];

11bool

v[max][max];

12int

maxsum;

13void bfs(int r, int c, int

num)

1420

if (r != (row - 1

))2129}

30if (r != 0)31

39}40if (c != (col - 1

))4149}

50if (c != 0)51

59}60}

6162

intmain()

6375

76//

cout << "請分別輸入二維陣列的行數和列數:";

77 infile >>row;

78 infile >>col;

79//

cin >> row >> col;

80//

cout << "請輸入二維陣列資料:\n";

81for (int i = 0; i < row; i++)

8287}88

for (int i = 0; i < row; i++)

8994}95

for (int i = 0; i < row; i++)

96103

}104

105 cout << "

二維陣列:\n";

106for (int i = 0; i < row; i++)

107112 cout <

113}

114 cout << "

最大聯通子陣列的和:";

115 cout << maxsum<

116infile.close();

117return0;

118 }

執行結果截圖:

總結:這次的題目比較難,借助了資料結構裡深度優先遍歷的演算法。

專案計畫總結:

時間記錄日誌:

缺陷記錄日誌:

結對作業 最大聯通子陣列

雙人合作空缺,不想照 兩人合作中的過程 首先自己思考,在覺得可行的情況下在紙上講給對方聽,然後互相尋找方法中的錯誤點,然後模擬該方法對陣列求最大聯通子陣列。可行的情況下,把需要實現的每一步寫出來,寫下程式的創造簡略圖,各種方法,然後填補方法 測試程式,修改 最後完成後,測試各種用例。體會 過去一直都...

連通最大子陣列和(結對開發)

題目 返回乙個二維陣列中最大子陣列的和 連通性 設計思路 把數按行分成幾個一維陣列,對於該一維陣列,求出他們的最大連續陣列之和,並且記錄下最大連續陣列的第一位和最後一位的位置,之後判斷幾個一維陣列的最大 連續陣列的位置是否相接或包括 如,第一行是1和4,第二行是3和5,這樣就相連 最後在加上沒有包括...

結對開發首尾相接陣列求子陣列最大和

組員 燕亞峰 20122914 王童博 20122823 一 題目及要求 返回乙個整數陣列中最大子陣列的和 如果陣列a 0 a j 1 首尾相鄰,允許a i 1 a n 1 a 0 a j 1 之和最大 同時返回最大子陣列的位置。二 設計思路 對於這題本想延用一維陣列的方法,不過由於陣列進行了整合,...