Elements of Programming Interviews - Adnan Aziz, Tsung-Hsien Lee

Chapter 1-4 Preludes

Chapter 5 - Primitive Types

Chapter 6 - Arrays

Chapter 7 - Strings

Chapter 8 - Linked Lists

Chapter 9 - Stacks and Queues

Chapter 10 - Binary Trees

Chapter 11 - Heaps

Chapter 12 - Searching

Chapter 13 - Hash Tables

Chapter 14 - Sorting

Chapter 15 - Binary Search Trees

Chapter 16 - Recursion

Chapter 17 - Dynamic Programming

Chapter 18 - Greedy Algorithms and Invariants

Chapter 19 - Graphs

Chapter 20 - Parallel Computing

Chapter 21 - Design Problems

Chapter 22 - Language Questions

Chapter 23 - Object-Oriented Design

Chapter 24 - Common Tools