The Dynamic Data Structures (DDS) project was developed at Rhode Island College. It is designed to graphically model and interactively manipulate linked lists, binary tree, and doubly linked lists.
DDS is still under development. It was originally conceived as a platform for instructional use in a Data Structures and Algorithms college course. Features are now being added to use it as a hands on tool for students to learn about the design and implementation of dynamic data structures.
The linked list tool has reached a level of development where it can be used as a teaching tool. The binary tree version has a functioning prototype, and the double linked list version is under development.
You are free to try out and use the linked list and binary tree modelers for academic purposes.
DDS—LLIST models linked lists built with this data structure.
Class Node{ String payload; Node next; }
DDS—BTree models binary trees built with this data structure.
Class Node{ String payload; Node left; Node right; }
Slides for talk at CSCNE 2018 [PDF].
Lightning Talk Slides from SIGCSE 2018 [PDF].
Introduction and Tutorial [PDF].
Future Work [PDF] – future plans and goals for the DDS system.
Hints on Capturing and Publishing DDS Demos [PDF] A current limitation of DDS is the inability to capture the manipulations of classroom demos so they can be posted on the web for student usage after a lecture. In the future, DDS will include a record and playback feature or a snapshot feature. This document offers some suggestions for capturing DDS demos for posting on the web or publishing in a document.
Reachable Node[PDF] Demo and reachable.llist [zip] data file. – illustrates reachable nodes.
List Insert [PDF] Demo and list-insert.llist [zip] data file. – illustrates inserting nodes into linked lists.
List Remove [PDF] Demo and list-remove.llist [zip] data file. – illustrates removing nodes from linked lists.
List Walk [PDF] Demo and list-walk.llist [zip] data file. – illustrates walking linked lists.
Garbage Collection[PDF] Demo and garbage.llist [zip] data file. – illustrates garbage and garbage collection.
Queue[PDF] Demo and queue.zip [zip] data files archive – illustrates implementing queues with linked lists. Based on class examples.
all-demos.zip [zip] data files archive – all data files for the Reachable, List Insert, List Remove, List Walk, Garbage, and Queue demos.
list-adt-files.zip [zip] data files archive – some sample linked list data files for DDS—LLIST. These are based on material used in a data structures course to model the List ADT.
btree-data.zip [zip] data files archive – some sample linked binary tree data files for DDS—BTREE. These are based on material used in a data structures course to introduce binary trees.
DDS-LList Block Demo. A simple block language has been prototyped so that DDS-LLIST can be used to visualize user provided algorithms. This is a proof of concept demo. Click the Start button to run the code. The code takes the first item off of the temp list and inserts it into the ordered list. Click the Start button to continue inserting items into the ordered list. Use the Align List button to align the list.
Graph-Ene – a web based tool for building and manipulating graphs. Graph-Ene allows multi-edges and loops.
DiGraph-Ene – a web based tool for building and manipulating directed graphs.