Próbuję znaleźć więcej zasobów dotyczących sterty Brodal . Wszystko, co znalazłem, to implementacja haskellowa stosu Brodal-Okasaki , ale myślę , że są to stosy skośne , prawda? Ponadto jestem niepiśmienny w Haskell, więc to niewiele pomaga. Czy ktoś ma (lub wie) o implementacji kolejki Brodal w pseudokodzie, C, C ++, Python?
Proszę również poprawić, jeśli moje powyższe założenia są błędne.
research
data-structures
Kimvais
źródło
źródło
Odpowiedzi:
Implementacja Haskell oparta jest na funkcjonalnej hałdzie Brodal-Okasaki i masz rację, jest to odmiana stosów skośnych. Artykuł jest napisany bardzo wyraźnie, więc byłby to dobry zasób.
Jeśli chodzi o implementację, istnieje również implementacja w Scali jako część biblioteki scalaz.
źródło
To częściowa odpowiedź, ponieważ jeszcze nie wymyśliłem, jak przetłumaczyć kod na coś, co nie jest Haskell. O ile mogę powiedzieć, że muszą używać Haskell, to, że Haskell jest leniwy. Stos papieru Brodal-Okasaki należy wszczepić w gazecie w leniwy sposób. Potrzebny jest więc sposób zapewnienia tej funkcjonalności innemu językowi wraz z wszelkimi innymi wymaganiami (takimi jak czysto funkcjonalne struktury danych), których może potrzebować Kupa BO.
źródło