2016-08-07 11 views
6

これらの違いは何ですか?私はそれを知っているキューとJavaのデキュー

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

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

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

+0

javadocが便利かもしれません。 –

+1

効率性は何ですか? –

+0

私はすでにjavadocを見たことがあるが、まだそれほど多くは得られなかった。だから誰かが私を助けることができるかどうか私はここに尋ねた。 –

答えて

3

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

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

14

Dequeは「ダブルエンドキュー」の略です。通常のキューでは、一方の端に物を追加し、他方の端から物を取ります。ダブルエンドキューでは、いずれかの端に物を追加し、どちらかの端から物を取り出すことができます。それはそれを多目的にします。たとえば、必要に応じてスタックとして使用できます。

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

関連する問題