Introduction
Gnarley trees* is a project focused on visualization of various tree data structures. This web site contains visualizations of
- 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, pairing heap, or the winner/loser tree,
- union find with various heuristics (union by rank, path compression, path halving, path splitting),
- geometric data structures — the interval tree, the Fenwick tree, or the k-d tree, or the range tree,
- string data structures such as trie, suffix tree, suffix array, the FM-index, or wavelet tree,
- persistent data structures — stack and BST via path copying, fat nodes, or node copying,
- and amortized analysis — the dynamic array, the splay tree, the scapegoat tree, the lazy binomial heap, or the Fibonacci heap.
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.
*) 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
Contribute
This project is open source. You can contribute via github (send a pull request / create an issue).
Translations
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.
Authors
Leading author: Jakub (kuko) Kováč
Contributors: Katka Kotrlová, Pavol (paly) Lukča, Viktor (friker) Tomkovič, Tatiana Tóthová
Licence
Gnarley trees are an open source, free software, and are freely available under the GNU General Public License, version 3. The source code is maintained here.