Saturday, August 11, 2012

The words are not enough

In an earlier post I hinted at creating a book which teaches algorithms & data structures primarily using pictures. Here is a start. Caveat: Start from the bottom of the pin board to see the older posts first and work your way to the top.

The way I see it being used is that it should provide enough intuition that people should be able to look at the pictures and get the gist of the algorithm or data structure in under 3 minutes. You can always find more information (details) about the algorithm or data structure on other places on the internet. This book hopes to act as a place where one can:
  • Develop intuition about algorithms & data structures
  • View the guts of an algorithm or data structure graphically for easier recall
  • Quickly glance at the picture of an algorithm or data structure to recollect the underlying idea behind it (revision for interviews, exams, etc...)
I'll be extremely happy to receive feedback of any kind on this (what I think is a unique) way to learn algorithms and data structures so that I may progressively improve the quality of the content.

2 comments:

Priyank Shah said...

Dhruv, i am sure pictures will help a lot. I would also appreciate if you can give some practical examples of where it can be used. Moreover, it would also be great if you can list down more than one way of implementing the same data structure/algorithm(only if you are aware of and if you find time), All in all a great initiative.

dhruv said...

Thanks! Yep - I'm planning to do that (examples/exercises) on this pin board: http://pinterest.com/dhruvbird/really-learn-your-cs-by-doing-these-exercises/

It's a great idea to present multiple approaches to solving a single problem. Currently, I am focusing on the simplest possible way of solving each question (possibly with non-optimal space/time complexity - for example the linear time array partitioning using linear extra space). This is partly because I am new to this way of presenting material (picture heavy v/s text heavy) and the fact that the reader might not be familiar with anything, so starting simple is always better.

I shall definitely start showing multiple solutions in a couple of weeks. Thanks for the suggestions!