Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

๐Ÿ”ฎ ๐Ÿ”ˆ Visual Sorting (aka "The Sound Of Sorting") is a tool that provides a visualization of sorting algorithms, accompanied by an auditory experience.

License

Notifications You must be signed in to change notification settings

mszula/visual-sorting

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฎ ๐Ÿ”ˆ Visual Sorting aka The Sound Of Sorting

Visual Sorting is a tool that provides a visualization of sorting algorithms, accompanied by an auditory experience. It allows users to witness how various sorting algorithms work through dynamic horizontal bars.

VisualSorting-QuickSort.mp4

๐Ÿš€ Play with it

https://mszula.github.io/visual-sorting/

๐ŸŒŸ Features

  • Dynamic Visualization: Vertical bars present the sorting process in real-time.
  • Step-by-Step Exploration: Go through each step of the algorithm, and analyze what going on.
  • Sound Experience: Each vertical bar represents a value in the sorting array. As the algorithm works on a bar, a sound is produced based on its height. There are 24 different sound oscillator options to choose from.
  • Input Array Options: Customize the array to sort by shuffling, reversing, or arranging in a mountain and valley form. Choose array sizes ranging from 2 to 1024 elements.
  • Adjustable Speed: Control the pace by dynamically changing the delay, to speed up or slow down the process, with precision up to 500 ms.
  • Themes: Various themes from DaisyUI so that everyone can find something for themselves.

๐Ÿค– Supported Sorting Algorithms

๐Ÿ†• Recently Added Algorithms

  • Counting Sort - Non-comparison sorting algorithm that counts occurrences of each value
  • Comb Sort - Improved Bubble Sort variant that uses gap-based comparisons
  • Intro Sort - Hybrid algorithm combining Quick Sort, Heap Sort, and Insertion Sort

๐Ÿ” Rationale

Visual Sorting was created to explore and learn Svelte, a modern JavaScript framework. Inspired by Timo Bingmann's captivating video "The Sound of Sorting" (https://www.youtube.com/watch?v=kPRA0W1kECg), which combines sorting algorithm visualizations with sound, I wanted to develop a tool that offers a similar educational and engaging experience. Visual Sorting aims to make learning sorting algorithms both enjoyable and insightful through dynamic visuals and sounds.

๐Ÿ™Œ Contribution

If you have suggestions for how Visual Sorting could be improved, or want to report a bug, open an issue! We'd love all and any contributions. If you can, leave a star as well ๐ŸŒŸ

๐Ÿ’ป Setup

Built with โ˜•๏ธ and โค๏ธ using Svelte, SvelteKit, Vite, Tailwind, and DaisyUI.

Install dependencies:

npm install

Start the project:

npm run dev

And that's it ๐Ÿ˜„

โญ Star History

Star History Chart

๐Ÿ“„ License

ISC ยฉ 2024 Mateusz Szuล‚a

Morty Proxy This is a proxified and sanitized view of the page, visit original site.