Skip to content

A HTML and Vanilla Javascript based path tracer of popular searching and sorting algorithm.

Notifications You must be signed in to change notification settings

thevkscode/path-tracer

Repository files navigation

Sorting Visualizer And Path finding Visualiser

Sorting Visualizer

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.

Purpose

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.

Conventions

  • 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.

Meet the Algorithms

This application supports the following algorithms:

  1. Bubble Sort.
  2. Insertion Sort.
  3. Selection Sort.
  4. Merge Sort.
  5. Quick Sort.
  6. Heap Sort.

Pathfinding Visualizer

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

Meet the Algorithms

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

About

A HTML and Vanilla Javascript based path tracer of popular searching and sorting algorithm.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published