最大堆和最小堆Java实现:
基于PriorityQueue(优先队列)解决TOP-K问题
它是一颗完全二叉树,它可以是空
树中结点的值总是不大于或者不小于其孩子结点的值
每一个结点的子树也是一个堆
当父结点的键值总是大于或等于任何一个子结点的键值时为:最大堆,当父结点的键值总是小于或等于任何一子节点的键值时:最小堆.
下面我们以最大堆来为例作为讲解
下图就是一个最大堆
最大堆和最小堆Java实现:
基于PriorityQueue(优先队列)解决TOP-K问题
它是一颗完全二叉树,它可以是空
树中结点的值总是不大于或者不小于其孩子结点的值
每一个结点的子树也是一个堆
当父结点的键值总是大于或等于任何一个子结点的键值时为:最大堆,当父结点的键值总是小于或等于任何一子节点的键值时:最小堆.
下面我们以最大堆来为例作为讲解
下图就是一个最大堆