Haufen | Priority Queue-Implementierung mit Javascript
Aug 21, 2024 pm 12:32 PMEinführung
Ein Heap ist eine spezielle baumbasierte Datenstruktur, die die Heap-Eigenschaft erfüllt.
Es handelt sich um einen vollständigen Binärbaum, was bedeutet, dass alle Ebenen des Baums vollständig gefüllt sind, mit Ausnahme der letzten Ebene, die von links nach rechts gefüllt wird.
Es gibt zwei Arten von Heaps:
- maximaler Heap
- min. Heap.
Max. Heap:
In einem Max-Heap ist für jeden gegebenen Knoten I der Wert von I größer oder gleich den Werten seiner untergeordneten Knoten.
Diese Eigenschaft muss für alle Knoten im Binärbaum wahr sein. Der höchste Wert (Maximum) liegt an der Wurzel des Baumes.
Min. Heap:
In einem Min-Heap ist für jeden gegebenen Knoten I der Wert von I kleiner oder gleich den Werten seiner untergeordneten Knoten.
Diese Eigenschaft muss für alle Knoten im Binärbaum wahr sein. Der niedrigste Wert (Minimum) liegt an der Wurzel des Baums.
Wir können sie als Prioritätswarteschlange bezeichnen, da jedes Mal, wenn wir einen Einfüge- und Löschvorgang ausführen, ein BubbleUp bzw. BubbleDown erfolgt.
Wir können dasselbe in einem Array implementieren, aber wie berechnet man leftChildindex, rightChildIndex und parentIndex?
Formel
Ein Kind bekommen
2i+1(links)
2i+2 (rechts)
Um Eltern zu werden
i-1/2
Unten habe ich eine Implementierung von minHeap hinzugefügt, bitte überprüfen Sie.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
|
Lassen Sie mich wissen, wenn Sie Fragen haben. Nehmen Sie einfach Kontakt auf.
Das obige ist der detaillierte Inhalt vonHaufen | Priority Queue-Implementierung mit Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist

HTTP-Debugging mit Knoten und HTTP-Konsole

JQuery fügen Sie Scrollbar zu Div hinzu

Benutzerdefinierte Google -Search -API -Setup -Tutorial
