Here's the list of items you'll learn about throughout this chapter:
| Chapter | Content | 
|---|---|
| 2.1 Data structures | 
                              Basic structures Stack and queues Hash tables Graphs Trees Heap / Binary heaps Trie  | 
                        
| 2.2 Algorithm concepts | 
                              Big O notation Sorting Recursion Hashing  | 
                        
| 2.3 Algorithm techniques | 
                              Greedy Divide et impera Dynamic programming Backtracking  | 
                        
| 2.4 Tree traversals | 
                              Inorder Preorder Postorder Level order  | 
                        
| 2.5 Graph algorithm | 
                              Graph traversal Cycle detection - Union Find  | 
                        
| 2.6 Searching and sorting | 
                              Binary search Quick sort Merge sort  | 
                        
| 2.7 Greedy algorithms | 
                              MST - Kruskall MST - Prim Shortest path - Dijkstra Fractional Knapsack  | 
                        
| 2.8 Dynamic programming | 
                              0-1 Knapsack Shortest path - Bellman-Ford Travelling salesman Problem Longest common subsequence Floyd Warshall Algorithm  | 
                        
| 2.9 Backtracking | 
                              Sudoku N Queen Rat in a maze  | 
                        
| 2.10 Recursion | Towers of Hanoi | 
| 2.11 Further practice | 
                              Questions Puzzles Algorithmic problems Exercises  |