@wilkie greedy algorithms with huffman compression as the example, and dynamic programming with minimum weight independent sets