Существует ли очередь приоритетов Hibell для Fibonacci?

Есть ли в Haskell очередь кучи/приоритета Фибоначчи? (Или даже асимптотически лучше?) Я нашел список различных реализаций очереди приоритетов в этом вопросе, но я не мог найти, удовлетворяет ли какой-либо из них амортизационный ход время кучи Фибоначчи:

  • Найти-минимум - это O (1) амортизированное время.
  • Операция insert, reduce key и merge (union) - это O (1) амортизированное время.
  • Меры по удалению и удалению операций - это время ожидания O (log n).

См. сравнение теоретических границ.

Ответ 1

Не Фибоначчи Heap, но так же хорошо:. heaps Эдвард Kmett на основе постоянного варианта Бродал /Okasaki из Бродали кучи