File size: 1,274 Bytes
5c8f53e
8b76633
5c8f53e
 
8b76633
 
5c8f53e
 
 
 
 
 
 
 
 
 
 
8b76633
5c8f53e
 
8b76633
 
5c8f53e
8b76633
5c8f53e
 
8b76633
5c8f53e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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`.