Skip to content

Mazen050/Sorting-Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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