The Algorithm Visualizer Suite is an interactive Python toolkit that lets users visualize the inner workings of two powerful algorithms:
- k-Shortest Paths Visualizer (Tkinter GUI)
- Manacher’s Algorithm Visualizer (Jupyter Widget App)
This suite is perfect for students, educators, and enthusiasts wanting to deeply understand graph traversal and string pattern detection.
A desktop application built with Tkinter, NetworkX, and Matplotlib, allowing users to visually explore the k-shortest simple paths between two nodes in a directed weighted graph.
- Predefined sample graph of 13 nodes and 19 edges.
- Choose source, target, and
kvalue. - Visualizes the full graph and lists all k-shortest paths.
- Simple and clean interface.
python k_shortest_paths_gui.pyUses networkx.shortest_simple_paths with edge weights to generate k paths using Yen’s algorithm logic.
A browser-based Jupyter app that steps through Manacher’s Algorithm for finding the longest palindromic substring in a string — with optional step-by-step visualization.
- Interactive widgets powered by
ipywidgets - See each expansion step and palindrome radius
- Full string transformation (
^#a#b#c#$) included - Visualization with highlighting of current center and radius
- Run inside a Jupyter notebook:
# Paste the code into a notebook cell and run-
Enter your string in the input box.
-
Use:
Find Palindrometo compute and visualize result.Next Stepto step through algorithm.Show All Stepsto print all computation steps.
Implements Manacher’s Algorithm with full transformation and center expansion logic for O(n) palindrome detection.
Install dependencies using pip:
pip install networkx matplotlib ipywidgetsFor Jupyter Notebook users:
jupyter nbextension enable --py widgetsnbextension --sys-prefixAlgorithmVisualizerSuite/
├── k_shortest_paths_gui.py
├── manacher_algorithm_notebook.ipynb
├── README.md
(You can add screenshots of the GUI and Jupyter steps here)
MIT License.
Feel free to modify and use in educational or personal projects.