[erlang-questions] data structure like skips list in Erlang

Frank Muller frank.muller.erl@REDACTED
Mon Oct 9 12:24:24 CEST 2017


Benoit,

It’s called “Judy Array” and Erlang bindings do exist:
https://github.com/knutin/judy

You can search for next/previous elements and do stuffs no other hashing
libs support.

/Frank

I’m didn’t find anything that fit my need. There are some btree libs but
> that doesn’t fit my needs. Also a tree is not that fast for memory imo. I’m
> thinking to build a red-black tree lib that support iterations for it.
> Red-black trees look simple enough to be build as a pure functional data
> structure. Still contemplating though.
>
> Benoit
>
> > On 9 Oct 2017, at 09:52, Billy Svensson <billy.svensson@REDACTED>
> wrote:
> >
> > I've needed this in the past too. Couldn't find any lib that could do
> > it so I just ported the floor and ceiling methods of the TreeMap class
> > in Java to an Erlang module that operated on a gb_tree.
> > It's a bit ugly though since you have to work on the "hidden" data
> > structure of the gb_trees module, so would be great if this could be a
> > part of the standard module instead.
> >
> > Not sure I still have that code, but could try to find it if you want.
> > You would probably need to test it a bit better though since I only
> > used it for a small hobby project.
> >
> > On Sun, Oct 8, 2017 at 8:21 PM, Benoit Chesneau <bchesneau@REDACTED>
> wrote:
> >> hmm i forgot to mention i need to also lookup for the data so not sure
> if a
> >> zipper is designed for it.
> >>
> >> I will have a loom kn the libs anyway, thanks for the links :)
> >>
> >> - benoît
> >>
> >> On 8 Oct 2017, at 19:33, Dmitry Kolesnikov <dmkolesnikov@REDACTED>
> wrote:
> >>
> >> Hello,
> >>
> >> It looks like you are looking for data structure called zipper. I’ve not
> >> used any of these but there is at least two versions of zippers for
> Erlang.
> >>
> >> https://github.com/ferd/zippers
> >> https://github.com/inaka/zipper
> >>
> >> - Dmitry
> >>
> >>
> >> On 8 Oct 2017, at 20.14, Benoit Chesneau <bchesneau@REDACTED> wrote:
> >>
> >> Hi all,
> >>
> >> I’m looking for a datastructure like a skiplist to maintain an ordered
> set
> >> of Key/Values. It has to have the following properties:
> >>
> >> * allows custom compare function to order the data in a specific order
> >> * allows the user to iterate forward (next) and backward (prev) the data
> >>
> >> Has someone already written a lib that offers such datastructure? Or
> maybe
> >> we can add a `prev(Key) function to gb_tree? Any idea i welcome :)
> >>
> >> - benoit
> >> _______________________________________________
> >> erlang-questions mailing list
> >> erlang-questions@REDACTED
> >> http://erlang.org/mailman/listinfo/erlang-questions
> >>
> >>
> >>
> >> _______________________________________________
> >> erlang-questions mailing list
> >> erlang-questions@REDACTED
> >> http://erlang.org/mailman/listinfo/erlang-questions
> >>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20171009/ea5629ed/attachment.htm>


More information about the erlang-questions mailing list