Skip to main content


Algorithm study encompasses concepts found both within computer science and beyond. For instance, some of the major shifts in Internet routing standards can be viewed as debates of the deficiencies of one shortest-path algorithm and the relative advantages of another, while at the same time, the basic notions used by biologists to express similarities among genes and genomes have algorithmic definitions. The subject of algorithms is a powerful lens through which to view the field of computer science in general, utilizing concepts in applied math such as combinatorics and graph theory. The algorithmic enterprise consists of two fundamental components: the task of getting to the mathematically clean core of a problem, and then the task of identifying the appropriate algorithm design techniques, based on the structure of the problem.