Sorting Algorithms Visualizer & Comparative Performance Study

A two-part study project on sorting algorithms, done with fellow students Antoine, Guillaume, and Logan: a C++ visualization app to watch algorithms sort in real time, and a Python/Jupyter analysis pipeline to quantify what the eye can only approximate.

Structure

  • App/ — the C++ visualization application. Each sorting algorithm (e.g. ./Sorting_Algorithm HeapSort) runs as a standalone visual demo.
  • Data/ — the analysis side: one Jupyter notebook per algorithm with pseudocode, efficiency plots across data types, and a synthesis notebook (ComparatifInterAlgo.ipynb) that identifies the best algorithm per scenario.

What the analysis covers

The notebooks benchmark each algorithm against several input distributions — uniformly random data (Fisher–Yates shuffled), data pre-sorted except for a shuffled prefix or suffix, and more — using Pandas, NumPy, SciPy, and Matplotlib to turn raw timing data generated by the C++ side into comparative plots and a written summary.

Why it was worth doing

It’s one thing to know the theoretical complexity of quicksort vs. heapsort vs. insertion sort; it’s another to watch how much that theory actually predicts once you throw real, imperfect data distributions at each algorithm — a good early lesson in why empirical benchmarking matters alongside asymptotic analysis.

Stack: C++, Python (Pandas, NumPy, SciPy, Matplotlib), Jupyter Notebook. Code: github.com/VendenIX/analyse_tris Demo video: youtube.com/embed/HMKchM3o8Xk




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • Explainability and Clinical Trust of Deep Learning in Glioblastoma Treatment Response
  • MetIA — Deploying a Deep Learning Interface for Brain Metastases Segmentation
  • GeneticPedigreeChartToPed — Digitizing Family Trees for Hereditary Cancer Risk
  • Todolist App — React Native with a GraphQL REST/CRUD API
  • AI vs. AI — Virus Infection Battle with Minimax / Alpha-Beta Pruning