----**Fred's Journal**---- [[Preface summary.]] [[1.1 The stable-matching process.]] [[2.1 Basics of Algorithm Analysis]] [[2.2 Bounds]] [[2.3 Implementing the Stable Matching Algorithm using Lists and Arrays]] [[2.4 A Survey of Common Running Times]] [[2.5 Priority Queues]] [[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.4 Shortest Paths in a Graph]] [[4.5 The Minimum Spanning Tree Problem]] [[4.6 Implementing Kruskal's Algorithm (The Union-Find Data Structure)]] [[4.7 Clustering]] [[4.8 Huffman Codes and Data Compression]] [[5.1 The Mergesort Algorithm]] [[5.2 Further Recurrence Relations]] [[5.3 Counting Inversions]] [[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]] [[7.5 A First Application(The Bipartite Matching Problem)]] [[7.7 Extensions to the Maximum-Flow Problem]]