BinarySearchTreeVisualization
A simple, interactive tool for learning Binary Search Tree operations with animations and a clean UI, built using Qt and modern C++.
Install / Use
/learn @Razee4315/BinarySearchTreeVisualizationREADME
<div align="center">
<img src="resources/logo.svg" alt="Logo">
</div>
Binary Search Tree Visualization
An educational tool for visualizing Binary Search Tree operations, built with Qt 6 and modern C++.
Screenshots
<div align="center"> <img src="screenshots/1.png" alt="Stack Visualization" width="720"> <img src="screenshots/2.png" alt="Queue Visualization" width="720"> </div>Features
- Interactive BST visualization
- Core BST operations:
- Insert nodes
- Delete nodes
- Search nodes
- Clear tree
- Random node generation
- Tree traversals:
- Inorder
- Preorder
- Postorder
- Educational components:
- BST property validation
- Operation explanations
- Visual feedback
- Professional UI with consistent light theme
Installation
Option 1: Using the Installer
- Download the latest release from the Releases page
- Run
BST_Visualizer_v1.0_Setup.exe - Follow the installation wizard
Option 2: Building from Source
Requirements
- Qt 6.8.0 or later
- CMake 3.16 or later
- MinGW 13.1.0 or later
- C++17 compatible compiler
Build Steps
-
Clone the repository:
git clone https://github.com/Razee4315/BinarySearchTreeVisualization.git cd BinarySearchTreeVisualization -
Create build directory:
mkdir build cd build -
Configure and build:
cmake .. cmake --build .
Usage
- Launch the application
- Use the input field to enter numbers
- Click operation buttons to perform BST operations
- Observe the visual representation of the tree
- Use the BST Guide for learning concepts
- Validate tree properties as needed
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Qt Framework team
- C++ community
- All contributors and testers
Author
Saqlain - @Razee4315
Support
For support, email saqlainrazee@gmail.com or create an issue in the repository.
