演算法導論 最大子陣列(歸併解法)

2021-06-14 13:16:16 字數 605 閱讀 3742

時間複雜度為o(nlgn)

typedef struct array

array,*arraypoint;

//此函式類似於歸併排序裡的合併函式

array find_max_crossing_subarray(int *a,int low,int mid,int high)

} max.sum=sum;

sum=0;

int right_sum=0;

for(int j=mid+1;j<=high;++j) }

int _tmain(int argc, _tchar* argv)

; array max;

max=find_maximum_subarray(a,0,sizeof(a)/sizeof(a[0]));

printf("最大子陣列從第%d個元素開始,到第%d個元素結束\n",max.left+1,max.right+1);

printf("其和為:%d\n",max.sum);

system("pause");

return 0;

}

演算法導論 最大子陣列

之前都在準備考試,寒假還是繼續學習。除了家裡打掃衛生,似乎也確實沒什麼事。多看書,多寫 總能提高的。堅持。這次學到了函式返回值可以是乙個結構體,當我們要返回多個值的時候,就可以返回結構體。還有就是對分治法有了更深的認識。include typedef struct op op findmaxcros...

演算法導論2 最大子陣列

最大子陣列問題 假設陣列a low.high 求存在於陣列a中的連續子陣列之和 或陣列中連續元素之和 最大的子陣列,例如a 4 的最大子陣列為a 0 2 和最大為3 2 1 2。如果採用暴力求解的演算法則問題也可以很簡單的求解出來,不過這種方法的時間複雜度為 n 所以寫一下更好的方法。使用分治策略的...

演算法導論 尋找最大子陣列

求最大子陣列 include using namespace std struct result structure result structure mid array sum int a,int low,int mid,int high sum 0 result.high index mid 1...