Appendix E Catalogue of Algorithms |
|
This appendix lists all of the algorithms described and implemented in
this book, along with page number references. Each algorithm is
listed under the least-specific type of tree to which it applies,
which is not always the same as the place where it is introduced. For
instance, rotations on threaded trees can be used in any threaded
tree, so they appear under "Threaded Binary Search Tree Algorithms",
despite their formal introduction later within the threaded AVL tree
chapter.
Sometimes multiple algorithms for accomplishing the same task are
listed. In this case, the different algorithms are qualified by a few
descriptive words. For the algorithm used in libavl, the
description is enclosed by parentheses, and the description of each
alternative algorithm is set off by a comma.
Binary Search Tree Algorithms
Advancing a traverser
Backing up a traverser
Balancing
Copying (iterative; robust)
Copying, iterative
Copying, recursive
Copying, recursive; robust, version 1
Copying, recursive; robust, version 2
Copying, recursive; robust, version 3
Creation
Deletion (iterative)
Deletion, by merging
Deletion, special case for no left child
Deletion, with data modification
Destruction (by rotation)
Destruction, iterative
Destruction, recursive
Getting the current item in a traverser
Initialization of traverser as copy
Initialization of traverser to found item
Initialization of traverser to greatest item
Initialization of traverser to inserted item
Initialization of traverser to least item
Initialization of traverser to null item
Insertion (iterative)
Insertion, as root
Insertion, as root, of existing node in arbitrary subtree
Insertion, as root, of existing node in arbitrary subtree, robustly
Insertion, using pointer to pointer
Join, iterative
Join, recursive
Refreshing of a traverser (general)
Refreshing of a traverser, optimized
Replacing the current item in a traverser
Rotation, left
Rotation, left double
Rotation, right
Rotation, right double
Search
Traversal (iterative; convenient, reliable)
Traversal, iterative
Traversal, iterative; convenient
Traversal, iterative; convenient, reliable
Traversal, iterative; with dynamic stack
Traversal, level order
Traversal, recursive
Traversal, recursive; with nested function
Vine compression
Vine from tree
Vine to balanced tree
AVL Tree Algorithms
Advancing a traverser
Backing up a traverser
Copying (iterative)
Deletion (iterative)
Deletion, with data modification
Initialization of traverser to found item
Initialization of traverser to greatest item
Initialization of traverser to inserted item
Initialization of traverser to least item
Insertion (iterative)
Insertion, recursive
Insertion, with bitmask
Red-Black Tree Algorithms
Deletion (iterative)
Deletion, with data modification
Insertion (iterative)
Insertion, initial black
Threaded Binary Search Tree Algorithms
Advancing a traverser
Backing up a traverser
Balancing
Copying
Copying a node
Creation
Deletion (parent tracking)
Deletion, with data modification
Deletion, with parent node algorithm
Destruction
Initialization of traverser as copy
Initialization of traverser to found item
Initialization of traverser to greatest item
Initialization of traverser to inserted item
Initialization of traverser to least item
Initialization of traverser to null item
Insertion
Parent of a node
Rotation, left
Rotation, right
Search
Vine compression
Vine from tree
Vine to balanced tree
Threaded AVL Tree Algorithms
Copying a node
Deletion (without stack)
Deletion, with data modification
Deletion, with stack
Insertion
Rotation, left double, version 1
Rotation, left double, version 2
Rotation, right double
Threaded Red-Black Tree Algorithms
Deletion (with stack)
Deletion, with data modification
Deletion, without stack
Insertion (with stack)
Insertion, without stack
Right-Threaded Binary Search Tree Algorithms
Advancing a traverser
Backing up a traverser
Balancing
Copying
Copying a node
Deletion (left-looking)
Deletion, right-looking
Deletion, with data modification, left-looking
Deletion, with data modification, right-looking
Destruction
Initialization of traverser to found item
Initialization of traverser to greatest item
Initialization of traverser to least item
Insertion
Rotation, left
Rotation, right
Search
Vine compression
Vine from tree
Right-Threaded AVL Tree Algorithms
Copying
Copying a node
Deletion (left-looking)
Deletion, right-looking
Deletion, with data modification
Insertion
Right-Threaded Red-Black Tree Algorithms
Deletion
Insertion
Binary Search Tree with Parent Pointers Algorithms
Advancing a traverser
Backing up a traverser
Balancing (with later parent updates)
Balancing, with integrated parent updates
Copying
Deletion
Initialization of traverser to found item
Initialization of traverser to greatest item
Initialization of traverser to inserted item
Initialization of traverser to least item
Insertion
Rotation, left
Rotation, right
Update parent pointers
Vine compression (with parent updates)
Vine to balanced tree (without parent updates)
Vine to balanced tree, with parent updates
AVL Tree with Parent Pointers Algorithms
Copying
Deletion
Insertion
Red-Black Tree with Parent Pointers Algorithms
Deletion
Insertion
Chapter 14
|
Table of Contents
|
Appendix F Index
|