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/
The project is built using React and Vite, ensuring a fast and responsive user experience.
- Bubble Sort: Watch as the simplest sorting algorithm compares and swaps elements to sort the array.
- Quick Sort: See the divide-and-conquer approach in action, partitioning arrays and recursively sorting the partitions.
- Insertion Sort: This approach inserts each element into an interatively produced sorted array.
- Merge Sort: A recursive divide-and-conquer algorithm that iteratively merges and sorts larger and larger sub-arrays.
- Linear Search
- Binary Search
- Dijkstra's Algorithm: Visualize the shortest path between nodes in a graph, ensuring the most efficient route.
- A Algorithm*: Experience a more advanced pathfinding algorithm that uses heuristics to optimize the search.
- Breadth-First Search (BFS): Explore the graph level by level.
- Depth-First Search (DFS): Dive deep into the graph to find a path.
- Recursive Division
- Randomized Prim's Algorithm
- Randomized Kruskal's Algorithm
- Minimum Spanning Tree (Prim's and Kruskal's)
- Topological Sort
To get a local copy up and running, follow these steps:
- Clone the repo:
git clone https://github.com/a-georgiou/Algorithm-Visualiser.git
- Navigate to the project directory:
cd Algorithm-Visualiser
- Install dependencies:
or
npm install
yarn install
- Start the development server:
or
npm run dev
yarn dev
- Open your browser and navigate to
http://localhost:3000
- Build the project:
or
npm run build
yarn build
- Serve the build output:
or
npm run serve
yarn serve
Navigate through the UI to select different algorithms. Adjust parameters as needed and watch the visual representation update in real-time.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Andrew Georgiou -
Email: [email protected]
LinkedIn: https://www.linkedin.com/in/andrew-georgiou/
Project Link: https://github.com/a-georgiou/Algorithm-Visualiser
Check out the live version of the project here.