Skip to content

Interactive JavaScript implementation of core sorting algorithms (Quicksort, Mergesort, Heapsort) and pathfinding algorithms (A*, Dijkstra) with browser-based visualization and console output.

Notifications You must be signed in to change notification settings

DavidShableski/algorithm-optimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

David Shableski's Algorithm Optimization Project

Objective

The Algorithm Optimization Project focuses on implementing various sorting and pathfinding algorithms using JavaScript. This project demonstrates the operations of algorithms such as Quicksort, Mergesort, Heapsort, A*, and Dijkstra's, aiming to enhance understanding of algorithm design, analysis, and implementation.

Skills Learned

  • Proficiency in implementing sorting and pathfinding algorithms in JavaScript.
  • Understanding of algorithmic concepts such as divide-and-conquer, greedy strategies, and graph traversal.
  • Ability to perform sorting operations on arrays.
  • Enhanced knowledge of pathfinding techniques and their applications in navigation and games.
  • Development of problem-solving and critical thinking skills through algorithmic challenges.

Tools Used

  • JavaScript for programming the sorting and pathfinding algorithms.
  • Browser console for observing sorting algorithm outputs.

Steps

Step 1: Quicksort

Click the "Quicksort" button to sort an example array using the Quicksort algorithm and print the sorted array to the console.

Step 2: Mergesort

Click the "Mergesort" button to sort an example array using the Mergesort algorithm and print the sorted array to the console.

Step 3: Heapsort

Click the "Heapsort" button to sort an example array using the Heapsort algorithm and print the sorted array to the console.

Step 4: Choose Pathfinding Algorithm

Select the desired pathfinding algorithm (A* or Dijkstra) from the dropdown menu to visualize the pathfinding process on a grid.

How to Run

  1. Clone the repository.
  2. Open the index.html file in your web browser.
  3. Use the buttons to execute and observe sorting algorithms in the console.
  4. Select a pathfinding algorithm from the dropdown and observe the visualization on the grid.

Conclusion

This project demonstrates the implementation of fundamental sorting and pathfinding algorithms, highlighting their importance in computer science. By working through this project, you will gain practical experience in JavaScript programming and deepen your understanding of algorithmic techniques and their real-world applications.

About

Interactive JavaScript implementation of core sorting algorithms (Quicksort, Mergesort, Heapsort) and pathfinding algorithms (A*, Dijkstra) with browser-based visualization and console output.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages