資料結構與演算法 最大子列和問題

2021-08-19 20:57:09 字數 556 閱讀 3002

問題:給定n個整數序列,,求該序列中存在的最大的連續n個整數和。

分析:方法1:最自然的方法是設定子列和的左端索引i和右端索引j,然後通過遍歷的方法找出最大的子列和,其中最簡單的陣列求和也是遍歷相加,因此將會有三層迴圈,計算複雜度為o(n^3)

**為:

int maxsum1(int a,int n)

int maxsum3(int a,int left,int right)

maxsumleft=maxsum3(a,left,center);//左最大子列和

maxsumright=maxsum3(a,center+1,right);//右最大子列和

//向左搜尋

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

; int max=0;

int n=8;

max=maxsum4(a,n);

//max=maxsum3(a,0,n-1);

printf("maxsum:%d",max);

return 0;

}

資料結構 演算法效率與最大子列和問題

計算機執行 時會根據輸入資料的大小和演算法效率來消耗一定的處理器資源。高效執行的程式需要考慮演算法的效率。演算法效率主要由以下兩個複雜度來評估 時間複雜度t n 根據演算法的程式執行時耗費時間的長度。空間複雜度s n 根據演算法執行時占用儲存單元的長度。演算法效率往往存在極值,即極大值和極小值,但是...

資料結構 最大子列和問題

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

PTA 資料結構與演算法 7 1 最大子列和問題

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