A Graphical 2-3-4 Tree Implementation
by Rory L. P. McGuire
- Only works with the latest Sun Java plugin.
- Accepts integer input from 0 through 99 inclusive.
- Insert, Find or Delete a random value by leaving the
input field empty.
- Intermediate steps are displayed with nodes of interest
highlighted in red.
- 100% speed will suppress display of intermediate steps.
- If "Split on the way down" is enabled, inserting a value
that is already in the tree might modify the tree. Try
inserting 0, 1, 2, and then 2 again with and without "Split..."
enabled to see the difference. Try the same with "Find First"
(and "Split...") enabled.
- Enabling "Find First" but not "Split..." just makes
inserting slower.
- Similar to Inserting with "Split..." enabled, Delete may
modify the locations of values in the tree even if the value to
be deleted is not in the tree. Maintaining the invariant during
a deletion is somewhat convoluted.
- The algortihm can be found in:
Cormen, Leiserson, Rivest, Stein:
Introduction to Algorithms, Second Edition
MIT Press, Cambridge, Massachusetts / McGraw-Hill Books; 2002
ISBN: 0-07-013151-1
- Special thanks to Professor Cris Moore, who allowed me
to pursue this project as a part of an independent study.
- Thanks also to my 'beta' testers: Joseph Koprivnikar,
Marshall Daniels, Daniel Friedman, and Ryan Chapman.
- To run as a standalone app, download and execute TTFT.jar.
- Please report any bugs to: rlpm@cs.unm.edu
- Also take a look at my Graphical
Union-Find Structure.
- Last modified: 2010 June 14