Table of Contents 2.0 Pre-Requisites 3.0 Arrays 4.0 Linked-Lists 5.0 Stacks and Queues 6.0 Trees and Binary Search 7.0 Graphs 8.0 Heaps and Greedy 9.0 Dynamic Programming 10.0 Tries and String Matching 11.0 Bit Manipulation and Number Theory 12.0 Special Techniques and Misc Patterns