The document defines and provides examples of greedy algorithms. It explains that a greedy algorithm makes locally optimal choices at each step in hopes of finding a global optimum. Everyday examples provided include playing cards, investing in stocks, and choosing a university. The document also gives the coin change problem as an example greedy algorithm and discusses properties like greedy-choice and optimal substructure that greedy algorithms exhibit. Several applications of greedy algorithms are listed like activity selection, minimum spanning trees, and Huffman coding. Kruskal's algorithm for minimum spanning trees and an activity selection problem are explained in further detail.