# 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

 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.