
Find-Maxing-Crossing-Subarray && Min-Heapify
Find-Maxing-Crossing-Subarray(最大子数组)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
A(low,mid,high) leftsum=-∞ sum=0 for(i=mid; i>low; i--) { sum=sum+A[i] if(sum>leftsum) { leftsum=sum maxleft=i } } rightsum=-∞ sum=0 for(j=mid+1; j<high; j++) { sum=sum+A[j] if(sum>rightsum) { rightsum=sum maxright=j } }
|
Min-Heapify(最小堆)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Min-HEAPIFY(A,i) l=LEFT(i) r=RIGHT(i) if(l<=A.heapsize && A[l]<A[i]) { smallest=l }else { smallest=i } if(r<=A.heapsize && A[r]<A[smallest]) { smallest=r } if(smallest!=i) { exchange A[i] with A[smallest] Min-HEAPIFY(A,smallest) }
|
近期评论