Algorithm Visualizer is an educational web-based application that bridges the gap between theoretical and practical understanding of algorithms. This project includes a dynamic frontend powered by HTML, CSS, and JavaScript, and a robust backend implemented in Java with Spring Boot for enhanced functionality and scalability.
- Interactive Algorithm Visualizations: Step-by-step visualization of sorting, graph traversal, and pathfinding algorithms.
- Ever-changing Data Sets: Every start and reload randomizes the data input of the algorithms.
- Backend Integration: Built with Java and Spring Boot to handle API requests and complex logic processing.
- Scalable Architecture: Modular backend and frontend design for easy maintenance and future extensions.
- Responsive Design: Works seamlessly on desktops, mobile devices.
- HTML5: For the structure and content of the application.
- CSS3: For styling and responsive design.
- JavaScript (ES6): For implementing client-side logic and user interactivity.
- Java: A powerful, object-oriented programming language for backend logic.
- Spring Boot: A framework for building robust REST APIs and backend services.
- Maven for dependency management.
- RESTful APIs for seamless communication between the frontend and backend.
- Modern web browsers for visualization.
- Bubble Sort
- Insertion Sort
- Merge Sort
- A* (A-Star) Algorithm
- Dijkstra's Algorithm
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Java 11+ installed on your machine.
- Maven installed for dependency management.
- A modern web browser (e.g., Chrome, Firefox).
-
Clone the repository: git clone https://github.com/aryanagrawal2911/Algorithm-Visualizer.git
-
Navigate to the backend directory: cd Algorithm-Visualizer/backend
-
Build the project using Maven: mvn clean install
-
Run the Spring Boot application: mvn spring-boot:run
-
The backend server will start at
http://localhost:8080
.
- Comprehensive Learning: Covers core algorithms with visual explanations.
- Backend Power: Spring Boot ensures robust and scalable backend support.
- Real-Time Interactivity: Provides hands-on experience with algorithmic concepts.
- Open-Source: Easy to contribute, modify, and expand.
We value your feedback! Feel free to open an issue or contact at : aryan agrawal.