Princeton University
|
Computer Science 423
|
|
This course is designed to provide students with an understanding of the principles and techniques used in the design and analysis of computer algorithms. The course is primarily theoretical and does not require programming, but it does require understanding of the notion of a mathematical proof, some knowledge of elementary discrete mathematics, and mathematical problem-solving skills. We shall discuss and analyze a variety of data structures and algorithms chosen for their importance and their illustration of fundamental concepts. We shall emphasize analyzing the worst-case running time of an algorithm as a function of input size. We shall also spend some time exploring the boundary between feasible (polynominal-time) computations and infeasible computations. This will include discussion of the notorious P=NP? question.
Professor: Robert Tarjan - 324 CS Building - 258-4797 ret@cs.princeton.edu
Secretary: Mitra Kelly - 323 CS Building - 258-4562 mkelly@cs.princeton.edu
Teaching Assistants: Janek Klawe - 316 CS Building - 258-5386 jklawe@cs.princeton.edu, Office Hours: M 8:00-9:00 PM, Th 5:00-6:00 PM
Precept classes: in small auditorium 105, Tuesdays from 4:30-5:30pm
| Problem Sets |
| Problem Set 1 |
| Problem Set 2 |
| Problem Set 2 Addendum |
| Problem Set 3 |
| Problem Set 4 |
| Problem Set 5 |
| Problem Set 6 |