—-Fred's Journal—-
1.1 The stable-matching process.
2.1 Basics of Algorithm Analysis
2.3 Implementing the Stable Matching Algorithm using Lists and Arrays
2.4 A Survey of Common Running Times
3.1 Basic Definitions and Applications(Graphs)
3.2 Graph Connectivity and Graph Traversal(Graphs)
3.3 Implementing Graph Traversal Using Queues and Stacks(Graphs)
3.4 Testing Bipartiteness BFS Algorithm
3.5 Connectivity in bipartite graphs
3.6 Directed Acyclic Graphs and Topological Ordering
4.0 Greedy Algorithms(Front matter)
4.1 Interval Scheduling (The Greedy Algorithm Stays Ahead)
4.2 Scheduling to Maximize Lateness (An Exchange Argument)
4.5 The Minimum Spanning Tree Problem
4.6 Implementing Kruskal's Algorithm (The Union-Find Data Structure)
4.8 Huffman Codes and Data Compression
5.2 Further Recurrence Relations
5.4 Finding the Closest Pair of Points
6.1 Weighted Interval Scheduling(A Recursive Procedure)
6.2 Principles of Dynamic Programming(Memoization or Iteration over Subproblems)
6.3 Segmented Least Squares(Multi-way Choices)
6.4 Subset Sums and Knapsacks(Adding a Variable)
7.1 The Maximum-Flow Problem and the Ford-Fulkerson Algorithm
7.2 Maximum Flows and Minimum Cuts in a Network