我需要时使用什么数据结构
使用Java的PriorityQueue,我无法直接通过其name / id属性访问节点吗?
我正在考虑使用优先级队列和TreeMap,以便我可以在log(n)时间按名称搜索,然后修改优先级。但我怀疑队列会知道吗?在这种情况下,我需要删除并重新添加节点?这值得开销吗?删除/重新添加节点有多复杂?
答案 0 :(得分:1)
在这种情况下,我需要删除并重新添加节点吗?
是
值得开销吗?
这取决于您的要求。只有你知道。
删除/重新添加节点有多复杂?
从PriorityQueue插入和删除是O(log n)。