Skip to content

A premium, interactive Algorithm and Data Structure Visualizer built with Python and Streamlit. Features real-time animations for Sorting, Searching, Trees, Graphs, Stacks, and Queues with a modern, dark-mode UI.

Notifications You must be signed in to change notification settings

Taaran18/PyAlgo-Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 Algorithm & Data Structure Visualizer

A premium, interactive web application built with Streamlit and Plotly to visualize various algorithms and data structures. Designed with a focus on aesthetics and education.

✨ Features

1. 📊 Sorting Algorithms

Visualize how different sorting algorithms process an array.

  • Algorithms: Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort, Heap Sort.
  • Visuals: Dynamic bar charts with color-coded states (Compare, Swap, Sorted).

2. 🔍 Searching Algorithms

Watch search algorithms hunt for a target value.

  • Algorithms: Linear Search, Binary Search, Jump Search, Interpolation Search, Exponential Search, Fibonacci Search, Ternary Search.
  • Visuals: Highlighted bars indicating the search scope and current element.

3. 📚 Linear Data Structures

Interactive Stack and Queue visualizations.

  • Stack: Push, Pop, Peek, Min, Max, Search, Reverse, Swap.
  • Queue: Enqueue, Dequeue, Peek, Min, Max, Search, Reverse, Rotate.
  • Features:
    • Undo/Redo: Time travel through your operations.
    • Capacity Control: Set limits and trigger overflow errors.
    • Memory View: See mock memory addresses (e.g., 0x3A2) for each item.

4. 🌳 Trees (Binary Search Tree)

Visualize the hierarchical structure of a BST.

  • Operations: Insert, Delete, Search.
  • Traversals: Inorder, Preorder, Postorder, BFS.
  • Visuals: Nodes connected by edges, animating the path of operations.

5. 🕸️ Graphs

Explore graph algorithms with a beautiful circular layout.

  • Operations: Add Node, Add Edge.
  • Traversals: BFS (Breadth-First Search), DFS (Depth-First Search).
  • Visuals: Nodes and edges with path highlighting.

🚀 Getting Started

Prerequisites

  • Python 3.8+
  • pip

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd <repository-folder>
  2. Install dependencies:

    pip install streamlit plotly

Running the App

Run the Streamlit app:

streamlit run app.py

🛠️ Technologies Used

  • Python: Core logic.
  • Streamlit: Web UI framework.
  • Plotly: Interactive visualizations.
  • CSS: Custom styling for a premium dark-mode aesthetic.

📂 Project Structure

  • app.py: Main entry point.
  • algorithms/: Logic for all algorithms and data structures.
  • visualizers/: Plotly drawing functions (structures.py, charts.py).
  • ui/: UI components (sidebar.py, dashboard.py, styles.py).
  • utils/: Helper functions.

Built with ❤️ for learning.

About

A premium, interactive Algorithm and Data Structure Visualizer built with Python and Streamlit. Features real-time animations for Sorting, Searching, Trees, Graphs, Stacks, and Queues with a modern, dark-mode UI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages