2017-06-09 2 views
-3

Wie können wir zwei Warteschlangen in Java mit konstanter Zeit Komplexität austauschen? Ich dachte daran, das auszuprobieren. Ist es möglich, zu schreiben:Wie man Warteschlangen in Java austauscht, wenn sie unterschiedliche Anzahl von Elementen haben?

temp=q1; 
q1=q2; 
q2=temp; 

hier q1, q2 und q3 sind LinkedList-basierte Warteschlangen.

+0

Ihre Logik sieht gut aus. Was ist daran falsch ? –

+0

Ich möchte nur fragen, ist es möglich oder nicht? –

+8

Warum gibst du nicht einfach einen Schuss und checkst? –

Antwort

0

Es ist nicht möglich, zwei Warteschlangen in konstanter Zeit zu vertauschen. Wenn Warteschlangen die Größe n haben, dauert es eine O (n) Zeit, Elemente einer Warteschlange in eine andere zu tauschen. Sie können jedoch die Vorder- und Rückseite beider Warteschlangen ändern, die O (1), d. H. Konstante Zeit, benötigen.

+0

Bitte geben Sie Grund zur Abstimmung. So dass ich meinen Fehler kenne, wenn es einen gibt. –

+0

Das ist falsch. Der eigene Code der Frage macht es in konstanter Zeit. –

+0

Vom Codeausschnitt war nichts klar. Deshalb habe ich diese Antwort gepostet. Der Code ist mehrdeutig. Wenn die vollständige Methode mit der Deklaration der Sammlung, die verwendet wird, gepostet wurde, hätte ich eine andere Antwort gegeben. –

Verwandte Themen