最大子串行和的問題,資料結構與演算法一書分析中給出了四種演算法,最優的演算法的時間複雜度為o(n),
1演算法的正確性分析沒有給出過程,分析過程如下:: 定義控制台應用程式的入口點。2//
34 #include "
stdafx.h
"5 #include 6
using
namespace
std;
7int maxsubsequesum(const
int *a,intn)8
19else
if(sumtemp < 0)20
23}24return
sumresult;25}
2627
28int _tmain(int argc, _tchar*argv)29;
31 cout<10)<
32return0;
33 }
此演算法將整個陣列序列分成了不同的子串行,子串行有如下規則
得出最大值有以下兩種情況:
最大子串行和演算法
include stdio.h 演算法1 int maxsubsequencesum1 const int a,int n int thissum,maxsum,i,j,k maxsum 0 for i 0 i n i for j i j n j thissum 0 for k i k j k th...
最大子串行和演算法
題目 求a i 中和最大的子串行。時間複雜度o nlogn 使用分治 遞迴的方法。分別求出左邊n 2長度的最大子串行和 右邊n 2長度的最打字序列和 以及橫跨這兩部分且通過中間的最大和 要分別求出兩邊帶有最中間邊界的最子大序列和,將其相加 由於不是最簡單的方法,這裡不再贅述。時間複雜度o n 遍歷一...
演算法 最大子串行和
最大子串行和的問題,資料結構與演算法一書分析中給出了四種演算法,最優的演算法的時間複雜度為o n 1 maxsubsequencesum.cpp 定義控制台應用程式的入口點。2 3 4 include stdafx.h 5 include 6 using namespace std 7 int ma...