summaryrefslogtreecommitdiff
path: root/source3/ubiqx
diff options
context:
space:
mode:
Diffstat (limited to 'source3/ubiqx')
-rw-r--r--source3/ubiqx/BinaryTrees.readme24
1 files changed, 24 insertions, 0 deletions
diff --git a/source3/ubiqx/BinaryTrees.readme b/source3/ubiqx/BinaryTrees.readme
new file mode 100644
index 0000000000..ec99a43d17
--- /dev/null
+++ b/source3/ubiqx/BinaryTrees.readme
@@ -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