1.分而治之發沒有看明白
2.第四個演算法真的太巧妙了
分而治之法c**
int divideandconquer( int list, int left, intright )
/*下面是"分"的過程
*/center = ( left + right ) / 2; /*
找到中分點
*//*
遞迴求得兩邊子列的最大和
*/maxleftsum =divideandconquer( list, left, center );
maxrightsum = divideandconquer( list, 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 max3( maxleftsum, maxrightsum, maxleftbordersum +maxrightbordersum );}
int maxsubseqsum3( int list, int
n )
資料分析 numpy 15 案例
import numpy as np 讀取iris資料集中的花萼長度資料,並且對其進行排序 去重 求和 累積和 均值標準差 方差 最大值 最小值。iris np.loadtxt iris sepal length.csv iris.sort print 花萼長度表為 n iris 去除重複值 pri...
資料結構1 3 燈塔
我自己用的merge排序,只有50通過。待我優化一下。include using namespace std define maxlength 4000000 typedef long long rank class node class nodelist nodelist rank inverti...
資料結構基礎 13
採用鏈式儲存的棧成為鏈式棧 或簡稱鏈棧 鏈棧的優點是便於多個棧共享儲存空間和提高其效率,且不存在棧滿上溢的情況 因為鏈棧是靠指標鏈結到一起,只要記憶體夠大,則鏈棧理論上可以儲存的元素是沒有上限的 與順序棧相比,由於順序棧是採用的陣列實現,因此一旦陣列填滿,則必須重新申請記憶體,並將所有元素 搬家 而...