Chapter 1: Lists, Stacks, and QueuesActivity 1: Implementing a Song PlaylistActivity 2: Simulating a Card GameActivity 3: Simulating a Queue for a Shared Printer in an OfficeChapter 2: Trees, Heaps, and GraphsActivity 4: Create a Data Structure for a FilesystemActivity 5: K-Way Merge Using HeapsChapter 3: Hash Tables and Bloom FiltersActivity 6: Mapping Long URLs to Short URLsActivity 7: Email Address ValidatorChapter 4: Divide and ConquerActivity 8: VaccinationsActivity 9: Partial SortingActivity 10: Implementing WordCount in MapReduceChapter 5: Greedy AlgorithmsActivity 11: The Interval Scheduling ProblemActivity 12: The Welsh-Powell AlgorithmChapter 6: Graph Algorithms IActivity 13: Finding out Whether a Graph is Bipartite Using DFSActivity 14: Shortest Path in New YorkChapter 7: Graph Algorithms IIActivity 15: Greedy RobotActivity 16: Randomized Graph StatisticsActivity 17: Maze-Teleportation GameChapter 8: Dynamic Programming IActivity 18: Travel ItineraryActivity 19: Finding the Longest Common Subsequence by Using MemoizationActivity 20: Finding the Longest Common Subsequence Using TabulationActivity 21: Melodic PermutationsChapter 9: Dynamic Programming IIActivity 22: Maximizing ProfitActivity 23: Residential Roads