Ich versuche mehr Ressourcen bezüglich Brodal Heap zu finden . Alles , was ich zu finden ist eine Haskell Implementierung von Brodal-Okasaki Haufen , aber ich denke , dass sie Skew Heaps , ist das richtig? Außerdem bin ich in Haskell Analphabet, was nicht viel hilft. Hat jemand eine Brodal-Warteschlangenimplementierung in Pseudocode, C, C ++, Python?
Bitte korrigieren Sie auch, wenn meine obigen Annahmen falsch sind.
research
data-structures
Kimvais
quelle
quelle
Antworten:
Die Haskell-Implementierung basiert auf dem funktionalen Brodal-Okasaki-Heap, und Sie haben Recht, es handelt sich um eine Variation von Schräghaufen . Das Papier ist sehr klar geschrieben, daher wäre es eine gute Ressource.
In Bezug auf die Implementierung gibt es auch eine Implementierung in Scala als Teil der scalaz-Bibliothek.
quelle
Dies ist eine teilweise Antwort, da ich noch nicht herausgefunden habe, wie der Code in etwas übersetzt werden kann, das nicht Haskell ist. Der Grund, soweit ich ihnen sagen kann, dass sie Haskell benutzen müssen, ist, dass Haskell faul ist. Der Brodal-Okasaki-Haufen muss faul aus der Zeitung implimentiert werden. Was Sie also brauchen, ist eine Möglichkeit, diese Funktionalität zusammen mit anderen Anforderungen (wie beispielsweise rein funktionalen Datenstrukturen), die der BO-Heap möglicherweise benötigt, für eine andere Sprache bereitzustellen.
quelle