Teaching greedy algorithms using a single problem domain
Joan M. Lucas · Journal of computing sciences in colleges · 2015
In this paper we describe one approach to teaching the paradigm of algorithm design that uses a single problem domain, the domain of scheduling/packing problems. By varying a few simple dimensions of the problem definition, we get a variety of different problems, and each of these problems gives rise to several natural greedy heuristics. This reinforces to students that the strategy is a paradigm. It is a broader and more general concept than any particular algorithm that uses a strategy. Implementing these algorithms also provides interesting applications of classic data structures, such as binary search trees and heaps.