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.
(986 reviews)
Details to know
11 assignments
See how employees at top companies are mastering in-demand skills
There are 9 modules in this course
We begin by considering historical context and motivation for the scientific study of algorithm performance. Then we consider a classic example that illustrates the key ingredients of the process: the analysis of Quicksort. The lecture concludes with a discussion of some resources that you might find useful during this course.
What's included
4 videos2 readings1 assignment1 discussion prompt
We begin this lecture with an overview of recurrence relations, which provides us with a direct mathematical model for the analysis of algorithms. We finish by examining the fascinating oscillatory behavior of the divide-and-conquer recurrence corresponding to the mergesort algorithm and the general "master theorem" for related recurrences.
What's included
5 videos1 reading3 assignments1 discussion prompt
Since the 17th century, scientists have been using generating functions to solve recurrences, so we continue with an overview of generating functions, emphasizing their utility in solving problems like counting the number of binary trees with N nodes.
What's included
5 videos1 reading1 assignment1 discussion prompt
Exact answers are often cumbersome, so we next consider a scientific approach to developing approximate answers that, again, mathematicians and scientists have used for centuries.
What's included
4 videos1 reading1 assignment1 discussion prompt
Analytic Combinatorics. With a basic knowledge of recurrences, generating functions, and asymptotics, you are ready to learn and appreciate the basic features of analytic combinatorics, a systematic approach that avoids much of the detail of the classical methods that we have been considering. We introduce unlabeled and labelled combinatorial classes and motivate our basic approach to studying them, with numerous examples.
What's included
4 videos2 readings1 assignment1 discussion prompt
The quintessential recursive structure, trees of various sorts are ubiquitous in scientific enquiry, and they arise explicitly in countless computing applications. You can find broad coverage in the textbook, but the lecture focuses on the use of analytic combinatorics to enumerate various types of trees and study parameters.
What's included
4 videos1 reading1 assignment1 discussion prompt
The study of sorting algorithms is the study of properties of permutations. We introduce analytic-combinatoric approaches to studying permutations in the context of this relationship.
What's included
5 videos1 reading1 assignment1 discussion prompt
From DNA sequences to web indices, strings (sequences of characters) are ubiquitous in modern computing applications, so we use analytic combinatorics to study their basic properties and then introduce the trie, an essential and fundamental structure not found in classical combinatorics.
What's included
5 videos1 reading1 assignment1 discussion prompt
We view strings as sets of characters or as functions from [1..N] to [1..M] to study classical occupancy problems and their application to fundamental hashing algorithms. Functions from [1..N] to [1..N] are mappings, which have an interesting and intricate structure that we can study with analytic combinatorics.
What's included
6 videos1 reading1 assignment1 discussion prompt
Instructor
Offered by
Why people choose Coursera for their career
Learner reviews
986 reviews
- 5 stars
61.80%
- 4 stars
26.84%
- 3 stars
6.68%
- 2 stars
1.62%
- 1 star
3.03%
Showing 3 of 986
Reviewed on Jun 2, 2024
course is good but it is little bit boring and lengthy.
Reviewed on Sep 14, 2022
I would highly recommend this course to any developer to understand algorithm analysis.
Reviewed on Feb 11, 2024
was really good, understood the importance of analysis of algorithms
Recommended if you're interested in Computer Science
Rice University
École normale supérieure
Stanford University
Scrimba
Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy