Data Structures Library for Java

JDSL Data Structures Visualizer Screen Shots


Image
The JDSL Visualizer's window is split into several different panels. The top-left panel displays the structure at a specific moment in time; the history panel is at the top-right (note that user-defined snapshots are colored lighter in the figure). On the bottom level there is a panel of buttons, where each button corresponds to a method of the data structure, and a panel that allows the user to set the parameters of method calls.
In the above figure, the JDSL Visualizer is shown displaying a Red-Black Tree. Note also that in the history window, some events are colored red (indicating that these moments in history came after calls to the structure generated by the visualizer) and some events are colored yellow (indicating that these moments are at coder-defined "interesting events" -- in this case, restructurings of the tree)



Image
This shot, displaying a Sequence, shows the manner in which the visualizer shows the history of events. The user has selected the most recent event before the present in the history window. The visualizer displays the positions selected for the swap option, and because the past is immutable, hides the method buttons from the user.



Image
This shot, displaying a Heap built on top of a Binary Tree, demonstrates the manner in which exception messages the structure throws are shown to the user. The user can select whether the message panel should be attatched to the main visualizer window or in its own window. Also note that the user is pulling down a menu allowing her to select a different data structure among those in memory to display, or allowing her to instantiate a new data structure or dekete the currently active one.



Image
This is another structure the visualizer can display, a Binary Tree. Note that although many of the previous structures also were built on top of Binary Trees, the layout here is different: positions are given x-y position by their inorder position in the tree rather than evenly by their height, as in the previous examples. It is relatively simple to plug new ways such as this of displaying structures into the visualizer.




These screen shots were taken with xv, running in UNIX on the Solaris and HP Platforms
Comments? Questions? Email the JDSL Webmaster.