This is a progressive web app built using Vanilla Javascript to visualize classic sorting algorithms such as bubble, insertion, selection, merge, quick and heap sort. This app is deployed with GitHub pages and can be accessed here: Link. I hope you have fun playing around with it.
I wanted to improve my skills with HTML, CSS, JavaScript and also learn classic sorting algorithms.This project turned out to be a great way to achieve both of the aforementioned objectives at the same time.
-
index.html
- This file holds the main layout for home page. -
css
- This folder contains the CSS files that only contain CSS custom properties declarations (also known as CSS variables) for the entirety of the app. These files are used to determine the overall look and feel of the application as all components rely upon these variables. -
js
- This folder contains the JavaScript files for implementing the sorting algorithms using the Object Oriented Programming principles.
This application supports the following algorithms:
- Bubble Sort.
- Insertion Sort.
- Selection Sort.
- Merge Sort.
- Quick Sort.
- Heap Sort.
Welcome to Pathfinding Visualizer! I built this application because I was fascinated by pathfinding algorithms, and I wanted to visualize them in action. I hope that you enjoy playing around with this visualization tool just as much as I enjoyed building it. You can access it here (use Google Chrome!): https://github.com/thevkscode/path-tracer
This application supports the following algorithms:
Dijkstra's Algorithm (weighted): the father of pathfinding algorithms; guarantees the shortest path
A Search* (weighted): arguably the best pathfinding algorithm; uses heuristics to guarantee the shortest path much faster than Dijkstra's Algorithm
Breath-first Search (unweighted): a great algorithm; guarantees the shortest path
Depth-first Search (unweighted): a very bad algorithm for pathfinding; does not guarantee the shortest path
Bi-Directional search (BFS) : Simultaneously run two BFS's from both source and target vertices, terminating once a vertex common to both runs is discovered. This vertex will be halfway between the source and the target
Bi-Directional search (DFS) : Simultaneously run two DFS's from both source and target vertices recursively, terminating once a vertex common to both runs is discovered. This vertex will be halfway between the source and the target