Skip to content

Mazen050/Sorting-Visualizer

Repository files navigation

Sorting Visualizer 🔢✨

An interactive web-based tool to visualize and compare the performance of sorting algorithms.
GitHub Repo: https://github.com/Mazen050/Sorting-Visualizer


📘 Course Information

Course: CSCI208 - Design and Analysis of Algorithms


👥 Team Members

Name ID
Mazen Kamal 231002151
Marwan Ayman 231000704
Shehab Hegazy 231002292
Mahmoud Hassan 231000496
Mohammed Bassel 231001215

📌 Project Description

This project is a web-based educational tool designed to help students understand how various sorting algorithms work.
It provides step-by-step visualizations and interactive controls to observe how data gets sorted through animations.


🧠 Implemented Sorting Algorithms

  • Bubble Sort – Compares and swaps adjacent elements repeatedly.
  • Selection Sort – Finds and places the minimum element on each pass.
  • Insertion Sort – Inserts each element into its correct position.
  • Quick Sort – Uses a pivot to recursively divide and sort the array.
  • Merge Sort – Divides the array and merges sorted halves efficiently.

💻 Technologies Used

  • Python – Implements core sorting logic.
  • JavaScript – Handles frontend interactions and animations.
  • HTML & CSS – Structure and style the visual interface.

The frontend communicates with the backend to demonstrate each sorting algorithm in real-time.


📊 Performance Analysis

We compared the algorithms based on time complexity, space complexity, and performance with different input sizes.

Key Findings:

  • Each sorting method has unique advantages and use cases.
  • Merge Sort and Quick Sort perform better on large datasets.
  • Bubble, Selection, and Insertion Sort are easier to understand but less efficient.

Visual comparisons and space complexity charts were included in the original GitHub README.


✅ Summary

While all sorting algorithms ultimately sort the data correctly, their performance varies based on input size and structure.
This project helped us understand those differences through hands-on implementation and visualization.

Releases

No releases published

Packages

 
 
 

Contributors