Sorting Algorithms Visualizer is an interactive web application that helps users understand and visualize various sorting algorithms through dynamic, step-by-step animations. This project provides an educational tool to explore the mechanics and performance characteristics of different sorting techniques.
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Tim Sort
- Intro Sort
- Real-time array element comparison
- Swap tracking
- Performance metric tracking (comparisons and swaps)
- Adjustable sorting speed
- Visual representation of algorithm progression
- Next.js
- React
- TypeScript
- Tailwind CSS
- Lucide React Icons
- Node.js (v18 or later)
- npm or yarn
- Clone the repository
git clone https://github.com/LucaPalminteri/sorting-algorithms-visualizer.git
- Navigate to the project directory
cd sorting-algorithms-visualizer
- Install dependencies
npm install
# or
yarn install
- Run the development server
npm run dev
# or
yarn dev
- Open http://localhost:3000 in your browser
- Browse through different sorting algorithms from the homepage
- Click on an algorithm to view its detailed page
- Customize sorting parameters:
- Array size
- Sorting speed
- Array generation method
- Observe the step-by-step sorting process
- Review algorithm-specific details and time complexity
Each algorithm page provides:
- Algorithm description
- Time complexity analysis (best, average, and worst-case scenarios)
- Visual representation of sorting mechanics
The visualizer tracks:
- Number of comparisons
- Number of swaps
- Sorting progression
- Algorithm-specific optimizations
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Luca Palminteri - [lucapalminteri02@gmail.com]
Project Link: https://github.com/LucaPalminteri/sorting-algorithms-visualizer