Welcome to Algorithms Visualized! This project provides interactive visualizations of fundamental algorithms, helping to demystify the inner workings of sorting, searching, and other key algorithms through visual animations and sound. Features
-
Sorting Algorithms Visualize various sorting algorithms such as Bubble Sort, Quick Sort, Merge Sort, and more. Each algorithm showcases step-by-step sorting with real-time updates, making it easy to observe their unique behaviors and efficiencies.
-
Sound-Enhanced Sorting Each step of the sorting process triggers a corresponding sound, allowing you to "hear" the sorting process. This feature is powered by Tone.js, adding an auditory dimension to the learning experience.
-
Animations and Visual Effects Watch as data items dynamically move and swap, with animations powered by p5.js. Each algorithm is visually distinct, providing a compelling way to see the differences in algorithm efficiency and complexity.
-
Introductory Scene An initial scene demonstrates sorting through both animation and sound, providing a captivating introduction to the project.
-
Complexity Analysis Alongside each visualization, you’ll find a summary of the time and space complexity of the algorithm, giving a quick overview of its efficiency.
- typescript
- p5.js for rendering and animations
- Tone.js for sound synthesis
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/fit-s-u-m/Algorithms-visualized.git
cd algorithms-visualized- Install dependencies (if using a bundler like Vite, Bun, etc.):
bun install- Run the project:
bun run devThe project should now be accessible at my link to know everything about how every sorting algorithms work you can check out my blog my blog
Usage
- Open the application in your browser.
- Select an algorithm from the menu to start its visualization.
- Adjust any available settings such as speed, array size, or sound.
- Press "Play" to watch the algorithm in action, or "Pause" to stop the visualization temporarily.
- You can use prev and next button to see it incrementally progress
Contributing
Contributions are welcome! Feel free to submit pull requests or open issues to suggest improvements or report bugs. Please make sure to follow our contributing guidelines. License
This project is licensed under the MIT License. See the LICENSE file for more information.