Preparing video…

Analysis of Algorithms

This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures. In addition, this course covers generating functions and real asymptotics and then introduces the symbolic method in the context of applications in the analysis of algorithms and basic structures such as permutations, trees, strings, words, and mappings.


Course at a Glance

About the Course

Analysis of Algorithms aims to enable precise quantitative predictions of the properties of large combinatorial structures. The theory has emerged over recent decades as essential both for the scientific analysis of algorithms in computer science and for the study of scientific models in many other disciplines, including probability theory, statistical physics, computational biology and information theory. This course covers recurrence relations, generating functions, asymptotics, and fundamental structures such as trees, permutations, strings, tries, words, and mappings, in the context of applications to the analysis of algorithms.

Course Syllabus

Lecture  1  Analysis of Algorithms
Lecture  2  Recurrences
Lecture  3  Solving recurrences with GFs
Lecture  4  Asymptotics
Lecture  5  The symbolic method
Lecture  6  Trees
Lecture  7  Permutations
Lecture  8  Strings and Tries
Lecture  9  Words and Mappings

Recommended Background

Math through calculus and basic familiarity with programming in a modern language such as Java. Knowledge of basic algorithms and data structures from  Algorithms, Part I is helpful but not required. The video From Analysis of Algorithms to Analytic Combinatorics: A Journey with Philippe Flajolet, is an optional (since it contains some advanced material that is beyond the scope of this course) overview that gives some historical perspective and introduces this course and Analytic Combinatorics

Suggested Readings

This course is based on the textbook An Introduction to the Analysis of Algorithms by Sedgewick and Flajolet. You can obtain this book from the following:
AmazonBarnes and Noble, or
You can find (free) web materials associated with the textbook at

Course Format

There will be one lecture (about 80 minutes) and a problem set each week.


Does Princeton award credentials or reports regarding my work in this course?

No certificates, statements of accomplishment, or other credentials will be awarded in connection with this course.