A Visualization of Lindells Isomorphic Algorithm for Trees.
Lindells algorithm solves the isomorphism problem for trees in
Click the link to visualize the algorithm: link.
The visualization is based on the trace file generated by Shrimp. Shrimp is a programming language to describe algorithms in terms of flow charts and is build on top of the functional prgramming language Haskell.
The visualization itself is written in JavaScript, HTML and CSS. The libary D3.js was used to generate the trees.
-
Open Trace: Shows all steps, the changes in the variables used, and the next operation. By clicking a certain step, you can move to that state. Expand sub-procedures by clicking
>
. -
Navigate with the
prev
andnext
buttons or with arrow keysleft
andright
. -
The trees can be shifted by dragging and zoom with mouse wheel.
-
Controlflow Graph: Shows the current Operation
-
Predicate Tree: Shows the decision tree for the next operation. Red denotes that the condition was false and green denotes that the condition was satisfied.
-
Variables and Stack have detailed view of the values stored in the variables and stack respectively.