隨時確定中位數

思路: 設置一個大根堆和一個小根堆,大根堆力求存儲N/2部分的小值,小根堆力求存儲N/2部分的大值,保持此狀態後,哪個堆的值多則中位數就是哪個堆的堆頂元素。 如何保持均衡分佈? 每次進入的值和大根堆的堆頂元素比較,當其值大於大根堆時,進入小根堆,當兩者的值相差大於等於2時,多的一個堆出堆頂元素賦值給小的堆。、 整個過程對於python可以使用heapq簡易實現。
相關文章
相關標籤/搜索