Terms and Conditions:
Ben Pfaff wrote:Please feel free to copy and distribute this book, in accordance with the license agreement. If you make multiple printed copies, consider contacting me by email first to check whether there are any late-breaking corrections or new editions in the pipeline.
is a library in ANSI C for manipulation of various types of binary trees. This book provides an introduction to binary tree techniques
and presents all of libavl's source code, along with annotations and exercises for the reader. It also includes practical information on how to use libavl in your programs and discussion of the larger issues of how to choose efficient data structures and libraries. The book concludes with suggestions for further reading, answers to all the exercises, glossary, and index.
This book is intended both for novices interested in finding out about binary search trees and practicing programmers looking for a cookbook of algorithms
. It has several features that will be appreciated by both groups:
# Tested code: With the exception of code presented as counterexamples, which are clearly marked, all code presented has been tested. Most code comes with a working program for testing or demonstrating it.
# No pseudo-code: Pseudo-code can be confusing, so it is not used.
# Motivation: An important goal is to demonstrate general methods for programming, not just the particular algorithms being examined. As a result, the rationale for design choices is explained carefully.
# Exercises and answers: To clarify issues raised within the text, many sections conclude with exercises. All exercises come with complete answers in an appendix at the back of the book.
Experienced programmers should find the exercises particularly interesting, because many of them present alternatives to choices made in the main text.