- various balanced trees such as AVL tree, red-black tree, B-tree, splay tree, treap, skip list, or scapegoat tree,
- priority queues such as binary heap, leftist heap, skew heap, binomial heap, Fibonacci heap, or pairing heap,
- union find with various heuristics (union by rank, path compression, path halving, path splitting),
- and string data structures such as trie or suffix tree.
We believe that these visualizations can be used very efficiently as lecture aids. We also hope they will be useful for students for self-study, or simply for exploring various concepts and satisfying curiosity.
You can use these visualizations either online on this site or download a standalone application. (The
jar file can be run using the command
java -jar gt.jar)
*) 1. Gnarl – a knot in wood 2. “Thy sharpe and sulpherous bolt Splits the vn-wedgable and gnarled Oke.” Shakespeare, W. (1603). Measure for measure, Act II, Scene II. 3. Gnarley – 1970s surfer slang for rad, exceptional, or cool; a step above intense (can be positive or negative), see urban dictionary
To run the jar file and the applets on this page, you need the Java Runtime Environment.
This project is open source. You can contribute via github (send a pull request / create an issue).
Gnarley trees are currently available in English and in Slovak. If you would like to contribute a translation into another language, simply download this file, translate it, and create a pull request.
- Jakub (kuko) Kováč
- Katka Kotrlová
- Pavol (paly) Lukča
- Viktor (friker) Tomkovič
- Tatiana Tóthová