mirror of
https://github.com/samba-team/samba.git
synced 2025-03-11 16:58:40 +03:00
Added a very small piece of documentation to describe the binary tree
modules. (This used to be commit 781be1daac75092666c1753f21871f2923a6f775)
This commit is contained in:
parent
5ca38bab49
commit
f9151159b8
24
source3/ubiqx/BinaryTrees.readme
Normal file
24
source3/ubiqx/BinaryTrees.readme
Normal file
@ -0,0 +1,24 @@
|
||||
Short: Binary AVL & Splay trees non-recursive.
|
||||
Uploader: crh@ubiqx.mn.org (Christopher R. Hertel)
|
||||
Author: crh@ubiqx.mn.org (Christopher R. Hertel)
|
||||
Type: dev/c
|
||||
Version: 2.4.
|
||||
|
||||
Written in C using OOP techniques, these modules provide three forms of
|
||||
binary tree: Simple (unbalanced) AVL (height-balanced), and Splay. AVL
|
||||
trees are re-balanced after every insertion or deletion. For each node in
|
||||
the tree, the difference in height between the left and right subtree is
|
||||
at most 1. Splay trees use a different approach. Each time a node is
|
||||
accessed (inserted, deleted, or directly found via a search), the node is
|
||||
bubbled to the top of the tree. This has the effect of making the tree
|
||||
'bushier' and placing the most frequently accessed nodes nearer to the
|
||||
top.
|
||||
|
||||
The functions are non-recursive to limit stack space usage, and can also
|
||||
be made into a run-time library. The type of tree used is determined by
|
||||
which header file is included with your program. No other code changes
|
||||
are necessary.
|
||||
|
||||
Pretty darn fast, too, IMHO.
|
||||
|
||||
Chris Hertel
|
Loading…
x
Reference in New Issue
Block a user