# 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`.