Data Structures Navigator - Lists

Link(s)
http://dbs.mathematik.uni-marburg.de/research/projects/dsn/
Topic(s)
Linked List, List, Linear Structures

Screenshots
Doubly Linked List
Sorted Linked List


Recommendation
  
Lecture Aide Has Potential
Self-study Supplement Has Potential
Standalone Not Recommended
Debugging Aide Not Recommended
Works?
Yes
Delivery Method(s)
Java Application
Project
Data Structure Navigator
Project Relationship
Part of project
Language(s)
English
Author(s)
Jens-Peter Dittrich, Jochen van den Bercken, Tobias Schäfer, Marcus Klein
Institution(s)
Phillips-University of Marburg
Activity Level(s)
Animation, Step control, User data
Source Code License
Unavailable
First Published
2000-04
Last Modified
2000-07

Description

This tool helps users to visualize the functioning of various list implementations. There are sorted and unsorted singly linked list versions, and also sorted and unsorted doubly linked lists. The visualization includes a first pointer, pointing to the first element of the linked lists, with each node of the linked lists having an element, as well as a pointer pointing to the next element of the next node in the linked lists. The final node points to the null value. Included with this visualization are the basic member functions, like find, insertion (at the front of the list), and removal of list nodes. Insert inserts a new element into the linked lists. Removal removes a certain element on the linked lists. The animation shows the traversal of the linked lists until the certain element to remove is found. Similarly, find shows animation of the traversal of the linked lists as well, until the desired element is found in the linked lists. One can zoom into the visualization (up to 300%), as well as change the visualization speed. Up top are the buttons start, next, and complete. Clicking start begins the animation, clicking next allows step-by-step animation, and clicking complete gives the end-result, skipping the visualization altogether. Also included is a history window logging every command implemented during the visualization’s lifetime.

Evaluation

The program is very simple, and thus, serves as a good introduction or review for someone who is interested in learning about linked lists with stack. The member functions insert, remove, and find are simple to understand. However, there is no text to accompany the visualization, which might be difficult when one is interested in learning the inner mechanics that happen when one implements the member functions, such as the rather complex pointer manipulation required that might be difficult to understand by beginners. Unfortunately, this visualization simply does not show that very well. The history window is a bit scarce, and just shows a history of member functions ran during the lifetime of the visualization. What might be nice to include is the ability to toggle on or off some simple code associated with each implementation of member functions, which might be beneficial to help better understand these inner mechanics.

Usage Notes

 This project is distributed as a Java application that must first be downloaded from the project site webpage (URL given above). You will need a working Java runtime installed (such as the standard Java JDK). Once you download and unzip the package, there is a shellscript (for Linux) and .bat file (for Windows) that you can use to invoke the program. At that point, the menu in the upper left corner of the application will let you select the desired visualization.

 

Field Report(s)
References
N/A
Rating
2
Average: 2 (1 vote)
Your rating: None
AV of the Day
No
Score
29

Re: Data Structures Navigator - Lists

This is a very simple, basic visualization. The program includes various data structures (such as linked lists, doubly linked lists, binary trees) as well as sorting algorithms (such as heap sort, bubble sort) , to play around with, as member functions associated with each data structure or sorting algorithm. Some of the numerous options include the ability to speed up the animation, zooming into the visualization, as well as a history bar that shows each command that has been run during the lifetime of that certain visualization.

 

To start the animation, one simply has to press the start button. To terminate the animation and see the end result quickly, skipping all the animations in between, there’s also a complete button. To go through each step of the animation, there’s a next button. The animations seemed very smooth. For a beginner just learning data strucutres and sorting algorithms, this program might be useful to help visualize. 

 

The program has a few problems:

The program does not seem to work very well with big numbers (3 digits or more), as shown in numerous screenshots. In addition, the history bar is not very comprehensive, simply just showing a history of every function that has been run. There’s also no text to describe any of the visualizations, asides from the lacking history bar. This may be troublesome for one to understand, especially when one is interested in learning the inner mechanics of each data struture or sorting algorithm. What might be nice is the inclusion of some simple code associated with each action that can be toggled on/off, based on one’s preference. A minor nuisance of the program is the requirement for the user to download a Java application to run the program locally on their machine.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.