Project: Visualization of Persistent Data Structures
Student Researchers: Risa Ohara, Oana Radulescu
Advisor: Chris Okasaki
Institution: Columbia University




The goal of our project was to apply techniques of algorithm animation to persistent data structures. A persistent data structure is one that can be updated without destroying the existing version after the update, the new and old versions coexist, and either or both can be used in future operations. Algorithm animation has previously been applied to many kinds of data structures, such as various flavors of binary search trees, but never to persistent forms of these data structures. Our plan was to implement our animations in Java, using the Java graphics libraries. Unfortunately, we believed too much of the Java hype and drastically underestimated the time and effort required to do graphics in Java. In the end, we were unable to successfully implement any useful animations in Java. We have paper designs for several animations of persistent data structures, but, without running implementations, were unable to evaluate their efficacy.