The document summarizes various greedy algorithms and optimization problems that can be solved using greedy approaches. It discusses the greedy method, giving the definition that locally optimal decisions should lead to a globally optimal solution. Examples covered include picking numbers for largest sum, shortest paths, minimum spanning trees (using Kruskal's and Prim's algorithms), single-source shortest paths (using Dijkstra's algorithm), activity-on-edge networks, the knapsack problem, Huffman codes, and 2-way merging. Limitations of the greedy method are noted, such as how it does not always find the optimal solution for problems like shortest paths on a multi-stage graph.