Skip to content

AlaminPu1007/algorithm-visualizer

Repository files navigation

Algorithm Visualizations

A Next.js 14 project for visualizing famous algorithms using React, TypeScript, and Tailwind CSS. This project includes visualizations for various algorithms such as unique path finding, N-Queens problem, tree or graph traversals, and more.

Features

  • Path Finding Visualization: Visualize algorithms for finding paths in a grid, including:

    1. Unique Path Finding: Solve the unique paths problem in a grid.
    2. Number of Islands Problem: Visualize the algorithm to count the number of islands.
    3. Shortest Path Finding: Implementations of Bellman-Ford, Floyd Warshall and Dijkstra's algorithms for shortest path calculations.
  • N-Queens Problem: Interactive visualization of the N-Queens problem, demonstrating various solutions and techniques.

  • Tree and Graph Traversals: Visualize traversal algorithms including depth-first search (DFS) with in-order, pre-order, and post-order techniques, as well as breadth-first search (BFS).

  • Sorting Algorithms: Visualize five sorting algorithms, including merge sort, quick sort, heap sort (with a tree graph visualization), selection sort, and bubble sort.

  • Interactive UI: Built with React and styled using Tailwind CSS, providing a user-friendly interface for exploring algorithms.

  • Linked List Operations :

    1. Basic Operations : Create, find, and delete nodes in a linked list.
    2. Reverse Linked List : Visualize the reversal of a linked list
    3. Merge Two Sorted Lists : Visualize the merging of two sorted linked lists
    4. Cycle Detection : Implement and visualize a cycle detection algorithm in linked lists to see if a list contains a cycle.
  • Sudoku Solver: Introduced an interactive visualization for the Sudoku Solver problem, allowing users to create and customize their own Sudoku boards.

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm

Installation

  1. Clone the repository:
git clone https://github.com/AlaminPu1007/algorithm-visualizer
  1. Navigate to the project directory:
cd algorithm-visualizer
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev

The application will be available at http://localhost:3000.

Usage

  • Navigate to the specific visualization from the home page.
  • Use the provided controls to interact with the algorithms and view their visualizations.

License

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

Acknowledgments

  1. Next.js: For providing a powerful React framework.
  2. Tailwind CSS: For enabling easy and flexible styling.
  3. TypeScript: For adding type safety to the project.
  4. Jest: For providing a robust framework for unit testing.

Contact

For any questions or inquiries, please open an issue on GitHub or contact us at [email protected].