gokaymeydan's picture
Upload 12 files
5c8f53e verified
# Sorting Algorithm Visualizer & Analyzer
An interactive Streamlit application to **visualize, analyze, and compare sorting algorithms**.
The project is inspired by *Introduction to Algorithms (CLRS)* and extended with modern visualization and benchmarking features.
## Features
- Step-by-step visualization with bubble chart animations.
- Supported algorithms: Insertion Sort, Merge Sort, Quick Sort, Heap Sort, Counting Sort, Radix Sort (LSD), Shell Sort, Bucket Sort
- Metrics tracking:
- Execution time (ms)
- Comparisons
- Moves (writes/swaps)
- Number of frames
- Sorted OK check
- Scaling benchmark: analyze performance as input size increases.
- Export results as CSV.
![Demo GIF 1](demo1.gif)
![Demo GIF 2](demo2.gif)
## Installation
```bash
git clone https://github.com/your-username/sorting-algorithm-visualizer.git
cd sorting-algorithm-visualizer
pip install -r requirements.txt
```
## Usage
Run the Streamlit app:
```bash
streamlit run app.py
```
Open the app in your browser at `http://localhost:8501`.
## Run with Docker
Build the image:
```bash
docker build -t sorting-algorithm-visualizer .
```
Run the container:
```bash
docker run -p 8501:8501 sorting-algorithm-visualizer
```
Open the app in your browser at `http://localhost:8501`.