* Heap implementations: Fibonacci, Brodal and relaxed
@ 2009-01-12 10:22 Hugo Ferreira
2009-01-12 17:31 ` [Caml-list] " blue storm
0 siblings, 1 reply; 4+ messages in thread
From: Hugo Ferreira @ 2009-01-12 10:22 UTC (permalink / raw)
To: caml-list
Hello,
I would like to now if anyone has or knows of
functional implementations of priority (aka Min,
aka Max) heaps. Specifically I am looking for:
Fibonacci, Brodal and relaxed heaps [1]
with fast insert and deletes.
Any literature or implementation in Haskell
or F# are also welcome.
I also would appreciate any additional comments on
implementation issues and experience with heaps
that may help me.
TIA,
Hugo Ferreira.
[1] http://en.wikipedia.org/wiki/Fibonacci_heap
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Caml-list] Heap implementations: Fibonacci, Brodal and relaxed
2009-01-12 10:22 Heap implementations: Fibonacci, Brodal and relaxed Hugo Ferreira
@ 2009-01-12 17:31 ` blue storm
2009-01-12 17:57 ` Hugo Ferreira
0 siblings, 1 reply; 4+ messages in thread
From: blue storm @ 2009-01-12 17:31 UTC (permalink / raw)
To: Hugo Ferreira; +Cc: caml-list
First of all, do you know about Okasaki leftist heaps (I suppose you
do as you're asking for even more advanced data structure) ? They're
simple O(log n) heap, nice to implement (~ 20 lines).
There was a page from Markus Mottl with translated OCaml code from the
book, but he removed it for some obscure reason.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Caml-list] Heap implementations: Fibonacci, Brodal and relaxed
2009-01-12 17:31 ` [Caml-list] " blue storm
@ 2009-01-12 17:57 ` Hugo Ferreira
2009-01-12 18:56 ` Markus Mottl
0 siblings, 1 reply; 4+ messages in thread
From: Hugo Ferreira @ 2009-01-12 17:57 UTC (permalink / raw)
To: blue storm; +Cc: caml-list
Hello,
blue storm wrote:
> First of all, do you know about Okasaki leftist heaps (I suppose you
> do as you're asking for even more advanced data structure) ? They're
> simple O(log n) heap, nice to implement (~ 20 lines).
Actually I didn't (although I know of these). But the thesis has a
better performing binomial heap.
>
> There was a page from Markus Mottl with translated OCaml code from the
> book, but he removed it for some obscure reason.
>
Still available (Chapter 6.):
http://hg.ocaml.info/release/pure-fun/archive/release-1.0.8.tar.bz2
Regards.
Hugo F.
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Caml-list] Heap implementations: Fibonacci, Brodal and relaxed
2009-01-12 17:57 ` Hugo Ferreira
@ 2009-01-12 18:56 ` Markus Mottl
0 siblings, 0 replies; 4+ messages in thread
From: Markus Mottl @ 2009-01-12 18:56 UTC (permalink / raw)
To: Hugo Ferreira; +Cc: blue storm, caml-list
On Mon, Jan 12, 2009 at 12:57 PM, Hugo Ferreira <hmf@inescporto.pt> wrote:
> Still available (Chapter 6.):
>
> http://hg.ocaml.info/release/pure-fun/archive/release-1.0.8.tar.bz2
Yes, the OCaml translation of Okasaki's purely functional
datastructures is still available online. The version control
repository, where you can also look at individual files without
downloading the archive, is here:
http://hg.ocaml.info/release/pure-fun
Note that leftist heaps are in chapter 3:
http://hg.ocaml.info/release/pure-fun/file/tip/chp3.ml
Regards,
Markus
--
Markus Mottl http://www.ocaml.info markus.mottl@gmail.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-01-12 18:56 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-12 10:22 Heap implementations: Fibonacci, Brodal and relaxed Hugo Ferreira
2009-01-12 17:31 ` [Caml-list] " blue storm
2009-01-12 17:57 ` Hugo Ferreira
2009-01-12 18:56 ` Markus Mottl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox