gpt4 book ai didi

java - 使用的数据结构 : need to access both by priority and name

转载 作者:行者123 更新时间:2023-12-01 15:10:51 25 4
gpt4 key购买 nike

当我需要时使用什么数据结构

  • 按优先级访问对象 - 出列
  • 通过名称/ID 访问对象以更新优先级

使用 Java 的 PriorityQueue,我无法直接通过节点的 name/id 属性访问节点,可以吗?

<小时/>

我正在考虑使用优先级队列,加上 TreeMap,这样我就可以在 log(n) 时间内按名称搜索,然后修改优先级。但我怀疑队列会知道这一点吗?在这种情况下,我需要删除并重新添加节点吗?这值得吗?删除/重新添加节点有多复杂?

最佳答案

In that case, I need to remove and re-add the node?

是的。

Is that worth the overhead?

这取决于您的要求。只有你自己知道。

What complexity is it to remove/re-add a node?

在 PriorityQueue 中插入和删除的时间复杂度为 O(log n)。

关于java - 使用的数据结构 : need to access both by priority and name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12388955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com