GNU libavl is a library in ANSI/ISO C for the manipulation of binary trees and balanced binary trees. It is written using a literate programming system called TexiWEB. By way of TexiWEB, libavl is as much a textbook on binary trees and balanced binary trees as it is a collection of code.
| Tags | Software Development Libraries |
|---|---|
| Licenses | GPL |
| Operating Systems | OS Independent |
| Implementation | C |
Recent releases


Changes: This release fixes a bug in tavl_delete(). This version (again) works with recent versions of Texinfo, fixes a few typos in the text, and slightly enhances the HTML output format.


Changes: This releases fixes some typos in the text and introduces an HTML output format. No bugs in the libavl code were fixed, because none were reported. Unlike 2.0, this version is compatible with recent releases of Texinfo. dvipdfm is now used for producing the PDF version.


Changes: This is a complete rewrite of earlier versions. It is not binary or source compatible with libavl 1.x. Compared with 1.x, it includes support for 8 more binary tree variants; compared with the previous development snapshot, 2 more. By way of its literate programming development methodology, it is as much a textbook on binary trees and balanced binary trees as it is a collection of code.


Changes: Support for right-threaded AVL trees and right-threaded red-black trees was added. Sections covering additional operations on plain binary search trees and red-black trees were added. Discussions of AVL and red-black insertion and deletion was completely rewritten. Numerous other minor improvements throughout the text and code were added.


Changes: This release adds support for right-threaded binary trees.