/Algorithhm-Visualization---Python

Algorithm Visualizer built with Python 3

Primary LanguagePython


Logo

Algorithm Visulizer with Python 3

Visualize Bread First Search and Depth First Search algorithm using Python and Pygame
Explore the docs »

Report Bug

About The Project

This is an algorithm visualizer tool I buidt with Python and Pygame 🎮. At this momment, I've finished 2 of them - Breadth First Search and Depth First Search.

Here's the detail:

  • Bepth First Search algorithm is visualized from a path finding game from a matrix. User can choose the start , end node and also the wall. The game will visualize each step of finding path process from the algorithm.

Logo

* Depth First Search algorithm is visulized from a "Connected Components" game. Nodes appear from the screen that can be drag and connect to each other by the user. The game will visualize each step of couting connected components process from the algorithm.

Logo

(back to top)

Built With

(back to top)

Getting Started

This project is very simple to get started. Pygame is the only required module.

Installation

  1. Clone the repo
    git clone https://github.com/NgoQuocBao1010/Algorithhm-Visualization---Python.git
  2. Install required package
    pip install requirements.txt

(back to top)

Usage

  1. Breadth First Search algorithm: run the file BFS.py to start the game after install all the package.
  • Left-click on any node to choose the start and end node.
  • After the start and end node are chosen. Left-click or drag any node to make the wall.
  • Right click to reset a node.
  • After the start and end node are chosen, press the Space button to start the algorithm.
  • Press C to clear the matrix (reset all node).
  1. Dreadth First Search algorithm: run the file DFS.py to start the game after install all the package.
  • Click and drag a node to another node to connects the two.
  • Press the Space button to start the algorithm.
  • Press C to clear all connections.

(back to top)

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.

If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star ⭐⭐⭐! Thanks again!

  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

(back to top)

License

Distributed under the MIT License.

(back to top)

Contact

Ngô Hồng Quốc Bảo - @NgoQuocBao

Project Link: https://github.com/NgoQuocBao1010/Algorithhm-Visualization---Python

(back to top)

Acknowledgments

This awesome README temaplate is from Best README Template. ♥

(back to top)