Interactive visualization tool for finding and displaying Eulerian paths and circuits in graphs. Implements Fleury's algorithm with step-by-step animation.
https://phuctruong-ctrl.github.io/euler-path-visualizer/
- Interactive graph creation with drag-and-drop nodes
- Add and remove edges between nodes
- Step-by-step Fleury's algorithm visualization
- Support for both Eulerian paths and circuits
- Visual highlighting of traversed edges
- Algorithm explanation panel
This tool implements Fleury's algorithm for finding Eulerian paths:
- Check if an Eulerian path/circuit exists (vertices must have appropriate degrees)
- Start from a vertex with odd degree (for path) or any vertex (for circuit)
- Follow edges, avoiding bridges unless no other option exists
- Remove traversed edges from the graph
- Continue until all edges are covered
- JavaScript (ES6+)
- jQuery for DOM manipulation
- p5.js for graph rendering and animation
- Bootstrap 5 for UI components
Clone and open in browser:
git clone https://github.com/PhucTruong-ctrl/euler-path-visualizer.git
cd euler-path-visualizerOpen index.html in a browser, or run with a local server:
python -m http.server 8000Access at http://localhost:8000
index.html - Main entry point
Scripts/ - JavaScript files
main.js - Core logic
graph.js - Graph data structure
algorithm.js - Fleury's algorithm implementation
Styles/ - CSS stylesheets
Documents/ - Related documentation
Flowcharts/ - Algorithm flowcharts
Contributions are welcome, especially for:
- Additional graph algorithms
- UI improvements
- Performance optimizations
MIT License