为了账号安全,请及时绑定邮箱和手机立即绑定

在其元素更改优先级时更新Java PriorityQueue

在其元素更改优先级时更新Java PriorityQueue

蝴蝶不菲 2019-08-27 16:36:28
在其元素更改优先级时更新Java PriorityQueue我正在尝试使用a PriorityQueue来命令对象Comparator。这可以很容易地实现,但是对象类变量(比较器计算优先级)可能在初始插入后发生变化。大多数人都提出了删除对象,更新值并再次重新插入的简单解决方案,因为这是优先级队列的比较器付诸实施的时候。除了在PriorityQueue周围创建一个包装类之外,还有更好的方法吗?
查看完整描述

3 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

我不知道是否有Java实现,但是如果你正在改变键值,你可以使用Fibonnaci堆,它具有O(1)摊销成本来减少堆中条目的键值,而不是比普通堆中的O(log(n))。


查看完整回答
反对 回复 2019-08-27
  • 3 回答
  • 0 关注
  • 588 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信