Skip to content

melikpehlivanov/AlgorithmVisualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

AlgorithmVisualizer

AlgorithmVisualizer is an open-source web project which visualizes different pathfinding and sorting algorithms. I hope that you will enjoy this project just as much as I enjoyed building it. If you find any bugs, feel free to open an issue or make a pull request. https://melikpehlivanov.github.io/AlgorithmVisualizer/

My initial idea was to learn algorithms and react in the meantime so I decided to build this project. Firstly, I used react-redux and then switched to react-hooks in order to practice React. If you're interested to see the two different approaches, check the repository branches. By the way, the algorithmic part could have been implemented on the front end in order to eliminate the 2x more work but I wanted the algorithms to be written in C#. I also could use event sourcing but it would've been overengineering for such a small project.

Build status

Avalailable algorithms


Pathfinding algorithms:

  • A* Search is weighted and it is arguably the best pathfinding algorithm out there. It uses heuristics to guarantee the shortest path and is much faster than Dijkstra's Algorithm
  • Dijkstra's Algorithm is also weighted. Dijkstra's algorithm is the father of pathfinding algorithms and it guarantees the shortest path
  • Breath-first Search is unweighted and it's a good algorithm which guarantees the shortest path
  • Depth-first Search is unweighted and it's a very bad algorithm for pathfinding. Moreover, it does not guarantee the shortest path

Sorting algorithms:

  • Merge sort
  • Buble sort
  • Heap sort
  • Quick sort

P.S Many more algorithms are going to come out with the next version of this application. By the way, if you like the project feel free to give it a star.