今天讀了lucent中的PriorityQueue.java, 一個(gè)很巧妙的復(fù)雜度為log(n)的排序堆棧. 始終確保數(shù)組A[1...n]中: A[i]<A[2*i] & A[i] < A[2*i +1] 很容易推論出A[1]一定是最小數(shù)值, 并且每次put()和pop()至多移動(dòng)log(n)個(gè)數(shù)值 真是好久沒接觸算法了:)