A Python application for visualizing various sorting algorithms using Tkinter for the graphical user interface.
The Sorting Algorithm Visualizer is a Python application that allows users to interactively visualize and understand how different sorting algorithms work. It provides a user-friendly graphical interface that lets users select a sorting algorithm, set the speed of visualization, and watch the sorting process in real-time.
- Visualize various sorting algorithms, including Bubble Sort, Insertion Sort, Selection Sort, Merge Sort, and Quick Sort.
- Adjustable sorting speed and array size for customization.
- Shuffle the array to see different input scenarios.
- Interactive user interface with real-time visual feedback.
- Educational tool for learning sorting algorithms.
Follow these steps to get the Sorting Algorithm Visualizer up and running on your local machine.
- Python 3.x
- Tkinter (usually included with Python)
- numpy library (install using
pip install numpy)
-
Clone the repository:
git clone https://github.com/yourusername/sorting-algorithm-visualizer.git
-
Navigate to the project directory:
cd sorting-algorithm-visualizer -
Install the required dependencies:
pip install -r requirements.txt
-
Run the application by executing the main Python script:
python main.py
-
Use the graphical user interface to select a sorting algorithm, adjust the sorting speed and array size, and start the visualization.
-
Watch the sorting algorithm in action on the Canvas display. Enjoy learning and experimenting with sorting algorithms!
This project supports the following sorting algorithms:
- Bubble Sort
- Insertion Sort
- Selection Sort
- Merge Sort
- Quick Sort
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the project.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your fork.
- Create a pull request to the main repository.
Feel free to customize this README to include additional information, details about the sorting algorithms, or any other relevant content for your project.