# clone this repository
$ git clone https://github.com/MarcinKozak005/Educational-tree-GUI.git
# Install requirements
$ pip install -r requirements.txt
# Run the app
$ python -m core.app
Educational-tree-GUI is a master thesis project which purpose is:
The purpose of the thesis is to implement an interactive GUI, capable of showing an animated presentation of a given operations:
- insertion,
- deletion,
- search,
- finding minimum and maximum values,
- counting mean and median
in:
- ASA-graphs,
- AVB+trees,
- AVB-trees,
- AVL trees,
- red-black trees,
- B+trees,
- and B-trees
to educationally present how these operations work, including intermediate steps. The scope of the thesis includes implementing the structures with a unified GUI, with the possibility of observing operations and comparing them for two selected trees.
In addition to the above-mentioned functionalities, the app can also:
- increase/decrease the size of the drawn nodes,
- change the speed of the animation,
- browse the previous states of the structure
Red-black tree insertion and rotation:
ASA-Graph insertion (YouTube video link):
The master thesis (in English) with detailed description of the theory and the implementation nuances can be found here.