Skip to content

AlgoBuddy is an interactive tool for visualizing graph algorithms and recursion trees. It supports BFS, DFS, Dijkstra, Topological Sorting, Fibonacci, Longest Common Subsequence, and more, with features for graph manipulation and real-time state visualization. Ideal for learning algorithms in an engaging way.

License

Notifications You must be signed in to change notification settings

R1B3n-13/AlgoBuddy_V2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AlgoBuddy

An immersive algorithm simulation tool that visually demonstrates various graph algorithms and recursion trees with animation.

Features

  • Graph Algorithm Simulation:
    • BFS
    • DFS
    • Dijkstra
    • Minimum Spanning Tree (Prim's algorithm)
    • Strongly Connected Component (Tarjan's algorithm)
    • Topological Sorting (Kahn's algorithm)
  • Recursion Tree Builder:
    • Fibonacci
    • Fast Power
    • Binomial Coefficient
    • Longest Common Subsequence
  • Interactive Graph Manipulation:
    • Supports both directed and undirected graphs
    • Select and drag nodes
    • Delete nodes and edges dynamically
  • Internal State Visualization: Displays real-time data structure states such as queues, stacks, arrays, etc.
  • Algorithm Highlighting: Synchronizes algorithm execution with a visual highlight to indicate the currently processed part.
  • User-Friendly Controls:
    • Adjust simulation speed
    • Play/Pause, Stop simulation
    • Built-in recording functionality for capturing simulations as videos

Demo (Click the thumbnail to redirect to YouTube)

Watch the demo

Technologies Used

  • Java (Core Logic)
  • Object-Oriented Programming (OOP)
  • Swing (GUI)

Installation & Running

To run the project locally:

git clone https://github.com/R1B3n-13/AlgoBuddy_V2.git
cd AlgoBuddy_V2
ant clean jar && ant run

Contributing

This project was our first-ever development project, so the codebase may be a bit messy and not well-documented. However, any contributions, improvements, or suggestions are welcome!

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

AlgoBuddy is an interactive tool for visualizing graph algorithms and recursion trees. It supports BFS, DFS, Dijkstra, Topological Sorting, Fibonacci, Longest Common Subsequence, and more, with features for graph manipulation and real-time state visualization. Ideal for learning algorithms in an engaging way.

Topics

Resources

License

Stars

Watchers

Forks