Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adia-dev/tree_visualizer
https://github.com/adia-dev/tree_visualizer
Last synced: about 7 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/adia-dev/tree_visualizer
- Owner: adia-dev
- Created: 2023-03-21T20:18:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-03-21T20:20:23.000Z (over 1 year ago)
- Last Synced: 2024-04-20T16:53:11.207Z (7 months ago)
- Language: C++
- Size: 5.06 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tree Visualizer
This is a tree visualizer developed using C++ and ImGui with SFML. The project allows users to visualize and manipulate binary trees. Users can navigate through the tree using the arrow keys or by right-clicking on a node to access a contextual menu.
## Features
- View binary tree structure
- Traverse through the tree using arrow keys or contextual menu
- Broken Rotate button (supposed to rotate the current node in the fashion of an AVL tree)## Demo
![Tree Visualizer Demo](assets/demo.gif)
## How to Use
1. Launch the binary file generated by compiling the code.
2. Use the arrow keys or right-click on a node to access the contextual menu.
3. Navigate the tree by selecting the appropriate option in the contextual menu.
4. Use the Rotate button to rotate the current node (currently not functioning as intended).## Compiling
To compile the project, navigate to the project root directory and run the following commands:
```bash
mkdir build
cd build
cmake ..
make
```## Dependencies
- SFML
- ImGui
- CMake## Notes
I would like to redo this project in the future using a different language and framework. I would also like to add more features to the project such as the ability to support multiple trees and the ability to sort the tree.
My dream is to run this project through the command line with parameters to specify the tree structure to use and then have the program output the tree.### Example
```bash
./tree-visualizer -t avl -i 1,2,3,4,5,6,7,8,9,10
```