Syllabus
Complexity analysis
Arrays
Strings
Recursion
Searching
Sorting
Linked lists
Stacks
Queues
Hashing
Trees
Binary search trees
Heaps
Graphs
Greedy algorithms
Dynamic programming
Coding patterns
Interview problems