## Tidy Animations of Tree Algorithms (1992)

Venue: | Usability Center, Georgia Institute of Technology, Atlanta, GA |

Citations: | 3 - 0 self |

### BibTeX

@TECHREPORT{Stasko92tidyanimations,

author = {John T. Stasko and Carlton Reid Turner},

title = {Tidy Animations of Tree Algorithms},

institution = {Usability Center, Georgia Institute of Technology, Atlanta, GA},

year = {1992}

}

### OpenURL

### Abstract

In software visualization and algorithm animation it is important that advances in system technologies are accompanied by corresponding advances in animation presentations. In this paper we describe methods for animating tree manipulation algorithms, one of the most challenging algorithm animation domains. In particular, we animate operations on pairing heap data structures which are used to implement priority queues. Our animations use tree layout heuristics and and smooth transitions for illustrating intermediate algorithm states to promote viewer understanding. This paper describes the visual techniques and methodologies used to display the pairing heap operations. The paper also details the implementation requirements and how our particular support platform, the XTango system, facilitates meeting these requirements. 1 Introduction Algorithm animations[Bro88b] visually depict how algorithms function to promote understanding of the algorithm's methodologies. Usually, the animation...

### Citations

2435 |
The Design and Analysis of Computer Algorithms
- Aho, Hopcroft, et al.
- 1974
(Show Context)
Citation Context ... the animation design. 2 Problem Domain Priority queues are data structures that manipulate nodes with key values and that support the operations insert, find min, delete min, delete, and decrease key=-=[AHU74]-=-. Priority queues are widely used with applications such as job scheduling, minimal spanning tree, shortest path, and graph traversal. By using a simple heap data structure, worst case time bounds of ... |

575 |
Fibonacci heaps and their uses in improved network optimization algorithms
- Fredman, Tarjan
- 1987
(Show Context)
Citation Context ...as job scheduling, minimal spanning tree, shortest path, and graph traversal. By using a simple heap data structure, worst case time bounds of O(log n) are achieved for all operations. Fibonacci heaps=-=[FT84], developed by 11 4 -=-4 11 Figure 1: Comparison-link action between the two trees. The "losing" tree becomes the new first child of the "winner." Fredman and Tarjan, achieve amortized[Tar85] time bounds... |

342 |
Techniques for algorithm animation
- Brown, Sedgewick
- 1985
(Show Context)
Citation Context ...erations. The paper also details the implementation requirements and how our particular support platform, the XTango system, facilitates meeting these requirements. 1 Introduction Algorithm animations=-=[Bro88b]-=- visually depict how algorithms function to promote understanding of the algorithm's methodologies. Usually, the animations contain abstract views of an algorithm's semantics and operations. Recently ... |

252 |
Tango: A framework and system for algorithm animation
- Stasko
- 1990
(Show Context)
Citation Context ...In this section, we describe how the pairing heap algorithm animations look and work. The animations are implemented using the XTango system[SH90], a derivative of the Tango algorithm animation system=-=[Sta90b]-=-. XTango differs from Tango in that it runs directly on top of the X11 Window System, and it has a simpler architecture model to promote portability and ease-of-use. Figure 3: Animation frame from the... |

171 | Zeus: A System for Algorithm Animation and Multi-View Editing - Brown - 1991 |

139 | Tidier drawing of trees - Reingold, Tilford - 1981 |

138 |
Amortized computational complexity
- Tarjan
- 1985
(Show Context)
Citation Context ...bonacci heaps[FT84], developed by 11 4 4 11 Figure 1: Comparison-link action between the two trees. The "losing" tree becomes the new first child of the "winner." Fredman and Tarja=-=n, achieve amortized[Tar85]-=- time bounds of O(1) for insert, find min, and decrease key and O(log n) for delete min and delete. Currently, these bounds provide the best running times for a variety of different problems[FT84]. Un... |

112 |
Optimum binary search trees
- Knuth
- 1971
(Show Context)
Citation Context ...technique (we call it conservative) creates trees whose steady-state appearance looks like those created by Knuth's algorithm that positions each node according to its position in an inorder traversal=-=[Knu71]-=-. Figure 3 reflects this technique. The second technique, developed specifically for these animations produces trees that we found to be more aesthetically appealing than those of the conservative tec... |

106 | Exploring algorithms using balsa-ii - Brown - 1988 |

54 |
Tlie path-transition paradigm: A practical met hodology for addiiig animation to program interfaces
- Stasko
- 1990
(Show Context)
Citation Context ... parameterized event calls that activate sets of animation routines 2) define the animation routines to represent the program operations using the XTango implementation of the path-transition paradigm=-=[Sta90a]-=-. The animation paradigm is based on four simple abstract data types (image, location, path, and transition) and their operations. XTango implements the data types in the C programming language using ... |

48 |
The pairing heap: A new form of self-adjusting heap
- Fredman, Sedgewick, et al.
- 1986
(Show Context)
Citation Context ...we have developed of pairing heap priority queue algorithms. Pairing heaps are tree data structures that are appealing due to their conceptual clarity and their nearly optimal computational complexity=-=[FSST86]-=-. We describe the animation methodology used to animate the heap algorithms that, we believe, provides an effective presentation of the algorithms, promoting and facilitating understanding. We also de... |

45 | A node-positioning algorithm for general trees - Walker - 1990 |

44 |
Tree-maps: a space filling approach to the visualization of hierarchical information structures visualization
- Johnson, Shneiderman
- 1991
(Show Context)
Citation Context ... view. Of course, this technique goes only so far. After about three zoom-outs the nodes become too small to discern. To display extremely large trees, other visualization techniques such as tree-maps=-=[JS91]-=- are better. For learning the details of an algorithm, however, small to medium size trees are most useful, and our zoom technique works well in these cases. 2 By using a two pass animation in which t... |

39 | Drawing Dynamic Trees - Moen - 1990 |

33 |
A.: Tidy drawing of trees
- WETHERELL, SHANNON
- 1979
(Show Context)
Citation Context ... to be more balanced than those produced by the conservative approach. The figures at the end of this paper reflect the natural technique. Both layout methods render trees with basic "tidy" =-=properties[WS79]-=-: parents are drawn above children; nodes on the same level lie on a horizontal line; left children are drawn to the left of their parent (and vice-versa). To facilitate both layout techniques, local ... |

32 | Animating Programs Using Smalltalk - London, Duisberg - 1985 |

31 | Pairing heaps: Experiments and analysis - Stasko, Vitter - 1987 |

26 | A system for algorithm animation - Bentley, Kernighan - 1991 |

11 | Pretty-printing of trees - Vaucher - 1980 |

8 |
Algorithms for drawing graphs : an annotated bibliography
- Tamassia, Eades
- 1989
(Show Context)
Citation Context ... they challenge the two intrinsic aspects of algorithm animation: layout and action. Graph and tree layout are known to be challenging problems with an extensive list of research articles on the topic=-=[TE88]-=-. For tree layout algorithms, specifying the placement of tree nodes to avoid edge crossings and to preserve aesthetics is critical. Various methods have been designed for optimally positioning the no... |

7 | A Programmer's Interface: A Visually Enhanced and Animated Programming Environment - Baecker, Buchanan - 1990 |

2 |
The XTANGO Algorithm Animation System, User Documentation
- Stasko, Hayes
- 1990
(Show Context)
Citation Context ...ect the binary tree representation. 3 Animation Methodology In this section, we describe how the pairing heap algorithm animations look and work. The animations are implemented using the XTango system=-=[SH90]-=-, a derivative of the Tango algorithm animation system[Sta90b]. XTango differs from Tango in that it runs directly on top of the X11 Window System, and it has a simpler architecture model to promote p... |