一个Fibonnaci堆支持以下操作:
insert(key, data)
:向数据结构添加一个新元素find-min()
:使用最小键返回指向元素的指针delete-min()
:用最小键删除元素delete(node)
:删除由指向的元素node
decrease-key(node)
:减少由指向的元素的键node
所有非删除操作均为(摊销)时间,删除操作为O (log n )摊销时间。
是否有increase-key(node)
在(摊销)时间内也支持的优先级队列的任何实现?
@Raphael如果您增加最小元素的键,使其现在成为最大键,那么(至少对我而言)并不是必须立即进行超恒定量的重新平衡。
—
2012年