Algo Visualizer is an educational tool designed to help students or curious understand how does algorithms work. It provides step-by-step visualizations of algorithm executions, allowing users to observe how data evolves over time.
The application will also includes supplementary information such as:
- Time and space complexity
- Algorithm origin and history
- Implementations in different programming languages
- A concise summary of how the algorithm operates
Code Documentation is available here: https://yewspine.github.io/Algo-Visualizer/com.visualizer/module-summary.html
Coming soon.
Dependency | Version |
---|---|
Maven | 3.8.7 |
JDK | 22 |
JavaFX | 24 |
Reflection | 0.10.2 |
- Run tests (optional but recommended):
mvn clean test
- Build the application with JavaFX support:
mvn clean javafx:jlink
- Copy the build artifacts:
cp -r target/visualizer /path/to/your/binaries
- Run the application:
Execute the file located at: visualizer/bin/visualizer
Contributions are welcome!
To get started:
- Clone the repository:
git clone https://github.com/Yewspine/Algo-Visualizer.git
- Create a new branch:
git checkout -b <feature-name>
-
Follow the Conventional Commits specification for your commit messages.
-
Push your branch and open a pull request:
git push origin <feature-name>
To implement a new algorithm:
- Create a dedicated branch.
- Use a straightforward and educational implementation, one liners are prohibited.
- Ensure the code closely follows the standard pseudocode logic.
- Place the Java source code into the relevant category (e.g.,
Pathfinding
,Sort
,Search
, etc.). - Add a script version of the algorithm in the
resources/script
directory, using the naming format:<AlgorithmName>/<language-extension>.txt
Example:BubbleSort/py.txt
If you find a bug or issue, please submit it via the GitHub Issues page. Bugs will be reviewed as soon as possible.
Have a better name idea for this application? “Visualizer” is just a placeholder, so feel free to open an issue if you have something better.