Data Structures and Algortihms form the one of the most fundamental of concepts in Computer Scince and whose understanding is very important to build good software.

Here are some of the resources I found useful while learning and undestanding algortihms in detail.


  1. Coursera Algortihms MOOC: There are a lot of Mooc’s out there but this one stood out to me because of its good mix of Practice and theory. Very good if you are just getting started with Data Structures and Algortihms and have some time on your hands to learn the basics thoroughly.

  2. Prof. Time Rougharden’s Algortihms Course Part 1 and Part 2 and find the slides under the Edx Section on this page.

  3. Data Structures. Basics to Advanced: This is an amazing course by William Fiset on Udemy and you can also find it freely in parts on his Youtube channel.

  4. Graph Theory Algortihms:Some basic and Advanced graph algortihms by William Fiset. Exaplained clearly with details that matter.

Youtube Wisdom

  1. MyCodeSchool:A very good channel to learn the basics of Algortihms and Data structrue with implementation details in C and C++. Very useful if you are in school and your coursework mixes and matches with conents covered in the channel.


  1. Complexity gone bad!: This an amazing blog that documents places where algortihm design is so horrible that its worst case time complexity does not look good. For some fun and laughs and also learning what not to do.