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.
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).
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.
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.
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.
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.
- Python 3.8+
- pip
-
Clone the repository:
git clone <repository-url> cd <repository-folder>
-
Install dependencies:
pip install streamlit plotly
Run the Streamlit app:
streamlit run app.py- Python: Core logic.
- Streamlit: Web UI framework.
- Plotly: Interactive visualizations.
- CSS: Custom styling for a premium dark-mode aesthetic.
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.