web-dev-qa-db-ja.com

javaのキューとデキュー

それらの違いは何ですか?そんなこと知ってる

キューは、キューの最後に要素が挿入され、キューの先頭から要素が削除されるように設計されています。 Dequeueは、キューの両端から要素を挿入および削除できるキューを表します。

しかし、どちらがより効率的ですか?

さらに、それら2つの違いは何ですか?私はそれらについて少し知識を持っているので、私は上記のことを言ったが、私はそれらについてもっと知りたい。ありがたいです。

28
user6503581

Dequeは「両端キュー」の略です。通常のキューでは、物事を一方の端に追加し、もう一方の端から取得します。両端キューを使用すると、どちらかの端に物事を追加し、いずれかの端からそれらを取ることができます。これにより、もう少し用途が広がります。たとえば、必要に応じてスタックとして使用できます。

効率の面では、実際に実装に依存します。しかし、一般的に言えば、(シングルエンドの)キューは「間違った」端でオブジェクトを追加または削除できない方法で実装できるため、dequeがキューよりも優れているとは期待しません。一方、両端キューの実装はキューの実装としても機能します。

33

両端キューとキューは、さまざまな方法で実装できる抽象データ型です。パフォーマンスについて話すには、どの実装を比較し、どの操作に関心があるかを指定する必要があります。さらに良いことに、アプリケーションのワークロードと使用する環境でベンチマークを実行します(ハードウェア、オペレーティングシステム、JVMバージョン)。

すべての両端キューはキューでもあるため、一般的に、両端キューは最大でキューと同等であると言えます。

4
Joni