0

必要なときに使用するデータ構造

  • 優先度でオブジェクトにアクセスします-デキューします
  • 名前/IDでオブジェクトにアクセスして優先度を更新する

JavaのPriorityQueueを使用すると、name / idプロパティでノードに直接アクセスできませんか?


私は、優先度キューとTreeMapを使用して、log(n)時間で名前で検索し、優先度を変更できるようにすることを考えていました。しかし、私はキューがそれを知っているとは思えませんか?その場合、ノードを削除して再度追加する必要がありますか?それはオーバーヘッドの価値がありますか?ノードを削除/再追加するのはどのくらい複雑ですか?

4

1 に答える 1

1

その場合、ノードを削除して再度追加する必要がありますか?

はい。

それはオーバーヘッドの価値がありますか?

それはあなたの要件に依存します。あなただけがそれを知っています。

ノードを削除/再追加するのはどのくらい複雑ですか?

PriorityQueueへの挿入と削除はO(log n)です。

于 2012-09-12T13:14:18.830 に答える