Go to www.gowrikumar.com main page

Share this page :

Visualizing Data Structures and Algorithms

In my college days, I always used to feel that there is a lot of hand-waving happens while explaining the algorithms or data-structures. The typical statements are" "you do that and this happens etc..". The visualization part of the algorithms is missing badly.

Though powerpoint presentations are used, I observe that, they are mostly static. The only difference when compared to traditional teaching is that, instead of algorithm being written on the board, it is shown in the slides.

I have always beleived that, we can do much more with powerpoint. Especially, with the newer versions of powerpoint, having extensive animation features. Here in this page, you can find a few of my presentations, which enables the audience to visualize the data structures/algorithms. I would be glad to receive any feedback/suggestions/comments on these presentations. My contact info is provided here

Reference Book: Data Structures and Algorithm Analysis in C - Mark Allen Weiss

Insertion Sort Insertion sort is one of simplest algorithms for sorting. This presentation illustrates the insertion sort code using the array 34,8,64,51,32,21. The presentation gives you the effect of debugging the code and visualizing the changes happening in the array as well.
Linked Lists This presentation illustrates the implementation of the data structure linked-lists. It's a header-based implementation of linked-lists. The operations illustrated are:
  • Initialize
  • InsertBeg
  • InsertEnd
  • Insert
  • Find
  • Delete
For all the above operations, first the code in C language is displayed, followed by the visualization of the changes in the data structure, as if the code is being executed. A link to the menu is provided on all slides, to help skipping of a few operations and jumping to other operations.
Binary Search Trees This presentation illustrates the data structure, Binary Search Trees. The operations explained are:
  • Insert
  • InOrder Traversal
  • Reverse Inorder Traversal and
  • Delete
This doesn't contain any code, but just shows the animations of the above operations in an intuitive manner.
Radix Sort Radix sort is generalization of bucket sort. This presentation illustrates step-by-step sorting of 10 numbers (less than 1000). It requires 3 passes and the buckets are 0 to 9.

Creative Commons License This work by Gowri Kumar Chandramouli is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.