資料結構第一章 最大子列和問題

2021-10-09 10:17:31 字數 1001 閱讀 5867

主要問題就是:給定整數a1,a2.......(可能為負數)求子序列和最大值(如果所有整數為負數,則子串行和為0,因為負數之中0最大)

窮舉法:

例如

從-2開始,數字依次往後相加,得出在以-2開始的序類中,最大值為18.

以此類推,從11開始,數字以此往後加,得出在以11開始的序類中,最大值是20

從-4開始,數字以此往後加,得出在以-4開始的序類中,最大值是9

後面程式自己看

(上面就是詳細的走個程式過程,具體**如下)

窮舉法:

int maxsubseqsum1(int list,int n)

return maxsum;

}

三層巢狀,其的複雜度為o(n^3)。 

窮舉法的改進

int maxsubseqsum1(int list,int n)	}

return maxsum;

}

兩層巢狀,其的複雜度為o(n^2)。 

分而治之

思維解析:

籠統的來說是把大問題劃分為小問題。

把這些數一分為二,不斷的分成一半,在上圖所示,最小的一半是4與-3,所以在這個範圍之內,她們兩個的最大值是4,同時在它們的右邊5與-2的最大值為5,然後它們之間有乙個劃分線,以這個劃分點為起點,從劃分線到它的最後乙個數,具體實現如下圖:(需要注意每一次重新算多個數之間的最大值時需要重新計算)

思想非常的簡單:

int maxsubseqsum4(int list,int n)

return maxsum;

}跟著**走一遍就很容易明白

資料結構第一章

1.程式設計的實質 資料表示和資料處理。資料表示的核心是資料結構,資料處理的核心是演算法。資料結構 演算法 程式 2.資料是資訊的載體,在電腦科學中是指所以所有能 輸入到計算機中並能被識別電腦程式和處理的符號集合。資料的分類 一是整體,實數等數值資料 二是文字,聲音,圖形和影象等非數值資料。資料元素...

資料結構第一章

資料結構第一章 1.1廣播方式傳送檔案 傳送機傳送一次,所有都可接收。優 程式設計容易 傳送速度快 卻 容易丟包 1.2單播方式傳送 一次乙個 1.3改進方式 多級單播傳輸 類傳銷方式 順序儲存 陣列 鏈式 鍊錶 雜湊儲存 資料元素的儲存位置由值確定。資料元素之間的關係通過指標表達。查詢 如果i 某...

資料結構第一章

1.1 計算 計算才是最終的目標 繩索計算器 尺規計算器 通用步驟,給外面的一點做平行線 1.a4 演算法 a5 有窮性 u運算後加到序列中 因為64之後,一直除2都可以.演算法必須是有窮的,但是27這個,是無窮的,序列 是有窮的 但是也是很多 而42只有8個序列 好演算法有人說好演算法是 最重要的...