Skip to content

Algorithmic Visualiser Web App. Visualiser for Sorting, Search, Pathfinding and Graph algorithms.

License

Notifications You must be signed in to change notification settings

A-Georgiou/Algorithm-Visualiser

Repository files navigation

Algorithm Visualizer - Try it out on GitHub Pages!

Welcome to the Algorithm Visualizer project! This tool is designed to provide visual representations of various common algorithms in Computer Science, making it easier for students and learners to understand and interact with these fundamental concepts.

Link to hosted site: https://a-georgiou.github.io/Algorithm-Visualiser/

Initialised with React + Vite

The project is built using React and Vite, ensuring a fast and responsive user experience.

Features

Sorting Algorithms

  1. Bubble Sort: Watch as the simplest sorting algorithm compares and swaps elements to sort the array.
  2. Quick Sort: See the divide-and-conquer approach in action, partitioning arrays and recursively sorting the partitions.
  3. Insertion Sort: This approach inserts each element into an interatively produced sorted array.
  4. Merge Sort: A recursive divide-and-conquer algorithm that iteratively merges and sorts larger and larger sub-arrays.

Search Algorithms

  • Linear Search
  • Binary Search

Pathfinding Algorithms

  1. Dijkstra's Algorithm: Visualize the shortest path between nodes in a graph, ensuring the most efficient route.
  2. A Algorithm*: Experience a more advanced pathfinding algorithm that uses heuristics to optimize the search.
  3. Breadth-First Search (BFS): Explore the graph level by level.
  4. Depth-First Search (DFS): Dive deep into the graph to find a path.

Drawing Example

Maze Generation Algorithms

  • Recursive Division
  • Randomized Prim's Algorithm
  • Randomized Kruskal's Algorithm

Pathfinding Example

Graph Algorithms (Coming Soon)

  • Minimum Spanning Tree (Prim's and Kruskal's)
  • Topological Sort

Graph Example

Getting Started

To get a local copy up and running, follow these steps:

Prerequisites

Installation

  1. Clone the repo:
    git clone https://github.com/a-georgiou/Algorithm-Visualiser.git
  2. Navigate to the project directory:
    cd Algorithm-Visualiser
  3. Install dependencies:
    npm install
    or
    yarn install

Running the Project

  1. Start the development server:
    npm run dev
    or
    yarn dev
  2. Open your browser and navigate to http://localhost:3000

Building for Production

  1. Build the project:
    npm run build
    or
    yarn build
  2. Serve the build output:
    npm run serve
    or
    yarn serve

Usage

Navigate through the UI to select different algorithms. Adjust parameters as needed and watch the visual representation update in real-time.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Andrew Georgiou -

Email: [email protected]

LinkedIn: https://www.linkedin.com/in/andrew-georgiou/

Project Link: https://github.com/a-georgiou/Algorithm-Visualiser

Hosted on GitHub Pages

Check out the live version of the project here.

About

Algorithmic Visualiser Web App. Visualiser for Sorting, Search, Pathfinding and Graph algorithms.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages