priority queue sortieren

Dagobert

Bekanntes Mitglied
Guten Abend,

Ich habe eine kleine Frage:
Wie kann ich eine priority queue neu sortieren?
Also ich veränder Wertigkeiten in der Queue und möchte diese danach gerne wieder richtig stellen/sortieren. Wie mache ich das am einfachsten? Verwenden tue ich die Hauseigene priority queue von Java.

mfg. Dagobert
 

Kr0e

Gesperrter Benutzer
Habe noch nie eine PriorityQueue benutzt, aber aufgrund eines 5 Sekunden Blickes in die Doku:

Comparator<? super E> comparator()
Returns the comparator used to order this collection, or null if this collection is sorted according to its elements natural ordering (using Comparable).

Würde mir diesen Comparator zurück geben lassen und dann mit Collections.sort(...) das ganze sortieren. Aber wie gesagt, habe mich nicht näher mit beschäftigt. Nur so als Idee..
 

Marco13

Top Contributor
Ich nehme an, es geht um effizientes (neu)sortieren, sozusagen mit minimalem Aufwand die richtige Reihenfolge aus Basis der gänderten Prioritäten wieder herzustellen (genaugenommen um eine A*-Suche oder Dijkstra, aber wir wollen die Kristallkugel mal nicht überbelasten ;) ). Mit der Java-PQ geht das afaik nicht direkt, höchstens durch rausnehmen und neu einfügen oder so... (Ich hatte mal irgendwann angefangen, dafür einen Fibonacci-Heap zu implementieren, aber der ist noch weitgehend ungetestet...)
 

Dagobert

Bekanntes Mitglied
Guten Tag,
Marco du hast voll ins schwarze getroffen. Es handel sich um ein Dijkstra der auf nem Scotland Yard Brett Wege sucht. Ich kopiere jetzt einfach alle Elemente in eine neue Queue, damit ist mein Problem behoben. Danke für die schnellen Antworten

mfg. Dagobert
 

antrox

Mitglied
dann markier es doch als erledigt :D

ich lese schon zum 5ten mal etwas, was schon geklaert worden ist und kann nichts dazu beitragen :-((((
 

Marco13

Top Contributor
Du hättest was beitragen können. Z.B. "Effizient ist aber was anderes - hier ist eine Implementierung vom Fibonacci-Heap:
Code:
...
" :D
 

moormaster

Top Contributor
Guten Tag,
Marco du hast voll ins schwarze getroffen. Es handel sich um ein Dijkstra der auf nem Scotland Yard Brett Wege sucht. Ich kopiere jetzt einfach alle Elemente in eine neue Queue, damit ist mein Problem behoben. Danke für die schnellen Antworten

mfg. Dagobert

Es ist gar nicht nötig, jedes Mal alle Elemente zu kopieren... die PriorityQueue beim Dijkstra dient doch nur dazu, effizient denjenigen Knoten aus der Warteschlange zu holen, der die geringsten "kosten" vom Startknoten ausgehend hat. Statt zu versuchen, das "alte" Element in der PQ zu aktualisieren kannst Du den betreffenden Knoten einfach nochmal mit den aktualisierten Kosten in die Warteschlange legen. Ist auf jeden Fall effizienter als jedes Mal die ganze PQ zu kopieren.
 

Dagobert

Bekanntes Mitglied
Und bei einem Scotland Yard - Spiel sowieso, solange das nicht mehr als 1 Million Felder hat :D Aber es geht um's Prinzip ;)

Richtig ! Wo komm ich sonst später hin XD (falls ich Später mal nen Scotland Yard World mache :D Was nicht nur 200 Felder in Londo hat :D

Statt zu versuchen, das "alte" Element in der PQ zu aktualisieren kannst Du den betreffenden Knoten einfach nochmal mit den aktualisierten Kosten in die Warteschlange legen

Gute Idee

mfg. Dagobert
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Untidy Priority Queue Allgemeine Java-Themen 2
M priority scheduling in Linux Allgemeine Java-Themen 3
W Queue.remove() -> no such element exception Allgemeine Java-Themen 17
mrStudent The method append is not applicable for the arguments (Queue<Integer>, Queue<Integer>) Allgemeine Java-Themen 4
M Queue mit einem Array implemetieren Allgemeine Java-Themen 16
Kirby.exe Nullpointer Exception bei Queue Allgemeine Java-Themen 5
P Durchlaufen einer Queue Allgemeine Java-Themen 9
W Queue Implementierung Allgemeine Java-Themen 6
S Queue Allgemeine Java-Themen 2
M Queues und Queue Interface Allgemeine Java-Themen 3
F Message Queue Tipps Allgemeine Java-Themen 3
E Queue: Wie kann hier ein null-Pointer Exception auftreten?! Allgemeine Java-Themen 11
M FIFO Queue: bytes in, float/double/etc out Allgemeine Java-Themen 5
F Threads, Queue, Gemeinsame Daten Allgemeine Java-Themen 6
G QUEUE und Threads Allgemeine Java-Themen 5
H Queue ausgeben Allgemeine Java-Themen 5
M Queue für spider/crawler? Allgemeine Java-Themen 2
M Reflection Queue auslesen Allgemeine Java-Themen 6
E Executors - wie kann ich die Queue leeren? Allgemeine Java-Themen 2
A Queue, beim dem das letzte Element herausfällt Allgemeine Java-Themen 4
S Suche schnellen Container Typ Queue Allgemeine Java-Themen 7
P Queue, Mausevents Allgemeine Java-Themen 4
G Queue erzeugen Allgemeine Java-Themen 2
T Queue-Hilfe benötigt Allgemeine Java-Themen 4
G Parameteriesierung von Queue funktioniert nicht Allgemeine Java-Themen 2
M Queue Allgemeine Java-Themen 11
G Klasse Queue Implementierung in Java Allgemeine Java-Themen 4
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
L allgemein Strings händisch in Liste sortieren Allgemeine Java-Themen 47
K Verbesserung der Laufzeit beim Sortieren von Einwohnern nach ihrem Geburtsjahr Allgemeine Java-Themen 0
Willi.We Array sortieren Allgemeine Java-Themen 5
L ArrayList sortieren Allgemeine Java-Themen 2
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
MiMa ArrayList sortieren?? Allgemeine Java-Themen 5
C MySQL Tabellen sortieren. Allgemeine Java-Themen 33
Curtis_MC Collections Liste anhand mehrere Kriterien sortieren Allgemeine Java-Themen 6
B Java Mail: Emails sortieren? Allgemeine Java-Themen 5
G Liste (UsageStats) sortieren (Android) Allgemeine Java-Themen 5
FRI3ND Datentypen Date-Array sortieren - Text mitnehmen? Allgemeine Java-Themen 7
P Wertepaare sortieren Allgemeine Java-Themen 3
MiMa Sortieren nach Stellenangaben Allgemeine Java-Themen 7
T Collections ArrayList Sortieren Allgemeine Java-Themen 4
P Listen sortieren Allgemeine Java-Themen 1
U Methoden Algorithmus MergeSort String [ ] array sortieren programmieren Allgemeine Java-Themen 17
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
K Strings sortieren: 2 Kritieren Allgemeine Java-Themen 5
B Algortihmus zum linearen Sortieren Allgemeine Java-Themen 1
K ArrayList sortieren Allgemeine Java-Themen 16
heyluigi Random Integer Array Ausgabe nach Größe sortieren Allgemeine Java-Themen 6
H Liste sortieren anhand optionalem Property Allgemeine Java-Themen 3
2 Mehrere Uhrzeiten Sortieren Allgemeine Java-Themen 2
B Counting Sort (Sortieren durch Zählen) Allgemeine Java-Themen 13
H Liste von Objekten generisch sortieren Allgemeine Java-Themen 0
Bluedaishi String Array mit Datum und Uhrzeit String sortieren Allgemeine Java-Themen 6
K Sortieren nach Vorgabe Allgemeine Java-Themen 6
S Erste Schritte Arrayliste alphabetisch sortieren mit Eingabe Allgemeine Java-Themen 9
L Sortieren von "Map<String, Object>" Allgemeine Java-Themen 2
M Sortieren und Leerzeichen Allgemeine Java-Themen 11
W Array Indizes sortieren Allgemeine Java-Themen 16
D Sortieren von Liste zu unperformant Allgemeine Java-Themen 6
E Array alphabetisch sortieren Allgemeine Java-Themen 1
5 Objekte Sortieren lassen Allgemeine Java-Themen 7
P Beim sortieren nullpointerexception Allgemeine Java-Themen 12
G Map nach key sortieren Allgemeine Java-Themen 14
T Array Sortieren (null Werte ans Ende) Allgemeine Java-Themen 2
Gossi Collections (Unbekannte) Liste Sortieren Allgemeine Java-Themen 10
S Int Values sortieren Allgemeine Java-Themen 7
S Sortieren nach Objekten Allgemeine Java-Themen 13
A 2D-array problem (sortieren) Allgemeine Java-Themen 6
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
G List<Person> sortieren Allgemeine Java-Themen 6
K Hashmap sortieren Allgemeine Java-Themen 6
H Problem beim Sortieren einer HashMap mit TreeSet Allgemeine Java-Themen 4
M ArrayList<String>, String häufigkeit sortieren Allgemeine Java-Themen 4
J Wie sortieren? Allgemeine Java-Themen 11
T Liste sortieren Allgemeine Java-Themen 6
K Strings sortieren (knifflig) Allgemeine Java-Themen 7
B JTable nach Icon sortieren Allgemeine Java-Themen 6
C ArrayList (mit Objekten) sortieren Allgemeine Java-Themen 12
J Map nach value sortieren Allgemeine Java-Themen 14
N Zahlen in Strings einer ArrayList sortieren Allgemeine Java-Themen 14
V ArrayList sortieren Allgemeine Java-Themen 7
S String-Array nach Datum sortieren Allgemeine Java-Themen 10
Developer_X Ein Array nach einem bestimmten Attribut sortieren Allgemeine Java-Themen 3
B Sortieren mit generischen Datentypen Allgemeine Java-Themen 3
C ArrayList anhand von zwei Attributen sortieren Allgemeine Java-Themen 4
O Sortieren von Telefonnummern Allgemeine Java-Themen 8
D JTabel sortieren nach mehreren kriterien Allgemeine Java-Themen 3
G Verschachtelte Treemaps, nach Value sortieren Allgemeine Java-Themen 11
K ArrayList nach bestimmtem Muster sortieren Allgemeine Java-Themen 3
I Vector mit Objekten sortieren,Videos mit JMF wiedergeben Allgemeine Java-Themen 6
S Koordinatentupel-Map sortieren?? Allgemeine Java-Themen 16
C ArrayList sortieren (mehrere Kriterien) Allgemeine Java-Themen 6
G ArrayList mit quicksort sortieren Allgemeine Java-Themen 9
Spot84 Vector nach Ressourcetyp sortieren Allgemeine Java-Themen 4
G sortieren von generics Allgemeine Java-Themen 10
Z Als Final deklarierte Klasse im Array sortieren Allgemeine Java-Themen 2
C ArrayList nach Datum sortieren Allgemeine Java-Themen 7
O ArrayList sortieren Allgemeine Java-Themen 8
G ArrayList mit Indices parallel sortieren Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben