Estou tentando encontrar mais recursos sobre a pilha Brodal . Tudo o que descobri foi uma implementação haskell do heap de Brodal-Okasaki , mas acho que eles são heap de inclinação , isso está correto? Além disso, sou analfabeta em Haskell, de modo que não ajuda muito. Alguém tem (ou conhece) uma implementação de fila Brodal em pseudocódigo, C, C ++, Python?
Também corrija se minhas suposições acima estão erradas.
research
data-structures
Kimvais
fonte
fonte
Respostas:
A implementação do Haskell é baseada no heap funcional Brodal-Okasaki e você está certo, é uma variação de heap de inclinação. O artigo foi escrito com muita clareza, por isso seria um bom recurso.
Em relação à implementação, também há uma implementação no Scala como parte da biblioteca scalaz.
fonte
Esta é uma resposta parcial, pois ainda não descobri como traduzir o código em algo que não é Haskell. A razão, pelo que sei, para eles terem que usar Haskell é que Haskell é preguiçoso. A pilha de Brodal-Okasaki precisa ser implementada de maneira preguiçosa a partir do jornal. Portanto, o que você precisa é uma maneira de fornecer essa funcionalidade para outro idioma, juntamente com outros requisitos (como estruturas de dados puramente funcionais) que o BO Heap possa precisar.
fonte