[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ITP: libavl -- AVL tree manipulation library



Wessel Dankers <wsl@fruit.eu.org> writes:

> > The first-mentioned AVL library does provide at least one feature
> > that GNU libavl does not: it can efficiently locate an item in
> > the tree based on the number of elements it is from the beginning
> > of the list.
> 
> There are other differences too. In my little AVL libray I tried to
> decouple the balancing code from the ordering stuff, resulting in
> functions like insert_after and insert_before.

Yes, that's kind of nice sometimes.

> In existing code I have
> used my avl code for ordered collections, sets, a heap, even an
> array-like thing (one that can do deletes, efficiently).

Hmm.  I am not sure that this make your libavl special.  Can't
any AVL implementation be used for these?  (Well, the last of
these requires RANK (as Knuth) or SIZE (as CLR) fields, which GNU
libavl doesn't implement.)

> Guus suggested we try and merge the libraries. I don't know enough about
> GNU libavl 2.0 to see if that is feasible.

I really doubt it would be easy, GNU libavl is a pretty big
project.  You can take a look at GNU libavl if you like, I have a
webpage about it:

	http://www.msu.edu/~pfaffben/avl/index.html

> Perhaps it would be interesting to seperate the balancing part from the
> ordering and augmentation more clearly and offer ADT's as a frontend.

This is a little like what GNU libavl does, but even moreso like
Kaz Kylheku's kazlib and Austin libraries.  There's a link to get
you to these from the webpage mentioned above.
-- 
"I consider that the golden rule requires that if I like a program
 I must share it with other people who like it."
--Richard Stallman



Reply to: