Algorithms Table of Contents

BACK: Classes

Preface

I took this class in Fall of 2017 with Florin Rusu. I also realized in the Spring of 2018, when I tutored the class, that I didn’t know squat (as is the case with many things in CS). The FA ‘18 ran smoother, but I still would like to jot down all of my limited understanding about algorithms.

The textbook used was the one every algorithms class uses. I hate this book with a passion: there’s too much notation and it confuses the heck out of people that I’ve tutored.

By far, the best way to study for this class and understanding the algorithms and the concepts in general is to whiteboard out the problems on your own. So many people have come in to my sessions asking me for help, but haven’t done this on their own. please please please go through the pseudo code on a real example. You’re not going to learn anything by reading a bunch of confusing notation. This way, you’re able to see how each intermediary step works out and then apply the big idea concepts.

Found some solutions here.

I used card assets throughout this page from here

  1. Introduction
  2. Key Ideas
  3. Order of Growth
  4. Collection of Sorting Algorithms (videos)
  5. Data Structures
  6. Divide and Conquer
  7. Dynamic Programming
  8. Greedy Algorithms
  9. Graphs Basics (BFS, DFS, Topological Sort, SCC)
  10. Minimum Spanning Trees (Prims, Kruskal)
  11. Shortest Path Algorithms (Djikstras, Bellman-Ford, Floyd-Warshall, Johnson)
  12. Maximum Flow (Ford Faulkerson)