2016-08-07 40 views
6

Was ist der Unterschied zwischen ihnen? Ich weiß, daßWarteschlange vs Dequeue in Java

A-Warteschlange ausgelegt ist, Elemente am Ende der Warteschlange eingefügt zu haben, und Elemente vom Anfang der Warteschlange entfernt. Dabei steht Aus Warteschlange für eine Warteschlange, in der Sie Elemente an beiden Enden der Warteschlange einfügen und entfernen können.

Aber was ist effizienter?

Plus, was ist der Unterschied zwischen ihnen beiden? weil ich ein bisschen über sie weiß, was ich oben gesagt habe, aber ich würde gerne mehr über sie wissen. Es wird geschätzt werden.

+0

Das Javadoc könnte nützlich sein. –

+1

Effizienz für was? –

+0

Ich habe Javadoc schon gesehen, aber ich habe immer noch nicht viel bekommen. deshalb habe ich hier gefragt, ob jemand mir helfen kann ... –

Antwort

3

Deque und Warteschlange sind abstrakte Datentypen, die auf verschiedene Weise implementiert werden kann. Um über die Leistung zu sprechen, müssen Sie angeben, welche Implementierungen Sie vergleichen möchten und für welche Operationen Sie interessiert sind. Noch besser: Stellen Sie den Benchmark selbst mit der Arbeitslast Ihrer Anwendung und in der Umgebung, die Sie verwenden werden (Hardware, Betriebssystem, JVM-Version).

Da jeder deque auch eine Warteschlange, in der Regel kann man sagen, dass deques kann als Warteschlangen höchstens so gut sein.

14

Deque ist die Abkürzung für "double ended queue". Mit einer normalen Warteschlange fügen Sie Dinge zu einem Ende hinzu und nehmen sie von dem anderen. Mit einer Double-ended-Queue können Sie an jedem Ende Dinge hinzufügen und sie von jedem Ende nehmen. Das macht es ein bisschen vielseitiger; Zum Beispiel könnten Sie es als einen Stapel verwenden, wenn Sie möchten.

In Bezug auf Effizienz, es hängt wirklich von der Implementierung. Aber im Allgemeinen würden Sie nicht erwarten, dass eine Deque eine Warteschlange übertrifft, da eine (single-ended) Queue so implementiert werden könnte, dass Objekte am "falschen" Ende nicht hinzugefügt oder entfernt werden können. Jede Implementierung einer Deque würde auch als Implementierung einer Warteschlange funktionieren.