最大子列和(C語言 4種方法)

2021-09-26 23:22:17 字數 1271 閱讀 2133

主函式:

呼叫不同的函式,更改這句就ok

max=maxsubseqsum4(a,n);

int main()

}return maxsum;

}

int maxsubseqsum2(int a, int n)

}return maxsum;

}

int max(int a,int b,int c)

int divideandconquer(int a,int left,int right)

/*下面是 分 的過程*/

center=(left+right)/2;

/*遞迴求左子列的最大值*/

maxleftsum=divideandconquer(a,left,center);

/*遞迴求右子列的最大值*/

maxrightsum=divideandconquer(a,center+1,right);

/*求跨界分界線的最大子列和*/

maxleftbordersum=0;leftbordersum=0;

for(i=center;i>=left;i--)

maxrightbordersum=0;rightbordersum=0;

for(i=center+1;i<=right;i++)

/*下面返回「治」的結果*/

return max(maxleftsum,maxrightsum,maxrightbordersum+maxleftbordersum);

}

複雜度o(n)

int maxsubseqsum4(int a,int n)

return maxsum;

}int main()

{ int n,a[100000],max;

// printf("enter the number of the list n:\n");

scanf("%d",&n);

// printf("enter the content of the list :\n");

for(int i=0;i過幾天可以嘗試用python寫一下,最近在學python。

我要day day up,哈哈哈哈

最大子列和問題(C語言版 四種方法)

給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下 輸入第1行給出正整數...

資料結構 一 4種方法求最大子列和

功能 求最大子列和 日期 2018 7 23 include include define n 1000 int maxsubsesum int a,int n void main i for i 0 i n i a i rand 10000 printf maxsubsesum d n maxsu...

求最大子列和的四種方法

includeint maxsubseqsum2 int a,int n return maxsum int main int i,n scanf d n for i 0 i int max3 int a,int b,int c int divideandconquer int list,int l...