最大子数组问题(线性算法)
时间算法度: Θ ( n ) Θ\left(n\right) Θ(n)
该算法主旨:
个人理解: 该算法主旨再于,用一个 D a t a Data Data类数组来存储序列 0.. n 0..n 0..n的所有元素的和,然后进行比较,选出最大的。
例如:
D a t a [ 0 ] . s u m Data[0].sum Data[0].sum存储的就是 A [ 0 ] A[0] A[0]的所有元素的和,当然, D a t a [ 0 ] Data[0] Data[0]还会存储下标,这里为 D a t a [ 0 ] . l o w = 0 Data[0].low = 0 Data[0].low=0, D a t a [ 0 ] . h i g h = 0 Data[0].high = 0 Data[0].high=0。
D a t a [ 10 ] . s u m Data[10].sum Data[10].sum存储的就是 A [ 0...10 ] A[0...10] A[0...10]的所有元素的和, D a t a [ 10 ] . l o w = 0 Data[10].low = 0 Da<