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 Demo GIF 2

Installation

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:

streamlit run app.py

Open the app in your browser at http://localhost:8501.

Run with Docker

Build the image:

docker build -t sorting-algorithm-visualizer .

Run the container:

docker run -p 8501:8501 sorting-algorithm-visualizer

Open the app in your browser at http://localhost:8501.