/AlgorithmVisualizer

This is a web app built to visualize various pathfinding and sorting algorithms.

Primary LanguageJavaScriptMIT LicenseMIT

Algorithm Visualizer

Purpose

This project was originally started to get a better understanding for javascript and jquery. I also was interested in different types of pathfinding algorithms and wanted to be able to better visualize how they work. Once I finished getting some basic pathfinding algorithms I decided I wanted to see how different sorting algorithms worked too.

The project can be accessed here: https://mpavich2.github.io/AlgorithmVisualizer/

How It Works

Select the algorithm you wish to see and press visualize! For the pathfinding side you can click and drag to add walls that the algorithm must avoid. For the sorting side you can select different speeds to get a better understanding for the algorithm.

The Pathfinding Algorithms

The current pathfinding algorithms.

A* search: a weighted algorithm that uses heuristics to gurantee the shortest path

Dijkstra's Algorithm: a weighted algorithm that gurantees the shortest path

Greedy Best-first Search: a weighted algorithm that is faster, more heuristic-heavy version of A* that does not gurantee the shortest path

Breadth-first Search: a great unweighted algorithm that gurantees the shortest path

Depth-first Search: a unweighted algorithm that does not gurantee the shortest path

The Sorting Algorithms

The current sorting algorithms.

Quick Sort: An efficient and quick in-place sorting algorithm

Bubble Sort: A simple and slow sorting algorithm

Selecton Sort: A simple in-place sorting algorithm

Insertion Sort: A simple sorting algorithm that is more efficient than bubble and selection sort