Go标准库中的MaxHeap和MinHeap

Alo*_*ngh -5 heap go

1)为什么Go的标准库没有MaxHeap的实现,而且看起来只支持MinHeap?

2)在上面的实现中,哪个function负责Heapify()Heapify()将普通数组转换为O(n).

Bur*_*dar 5

它通过让您实现Less比较两个元素的函数来支持两者。如果你的Less(i,j)if 返回 true i<j,那么它就是一个 minheap 。如果你Less(i,j)返回 false ifi<j那么它是一个 maxheap。Heapify 会是heap.Init