Focuses on the interfaces between combinatorics and Computer Science. Algorithms and data structures that are used to manipulate, generate, and randomly select combinatorial objects are studied. Such objects include sets, permutations, combinations, trees, graphs. Methods for analyzing combinatorial algorithms such as recurrence relations, asymptotics, and amortized complexity are presented.
Graduate course in the Computer Science program offered by the Faculty of Graduate Studies.