This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. We will also cover some advanced topics in data structures.

Dynamic Programming, Greedy Algorithms

Dynamic Programming, Greedy Algorithms
This course is part of Foundations of Data Structures and Algorithms Specialization

Instructor: Sriram Sankaranarayanan
Access provided by Hertz
39,033 already enrolled
243 reviews
Recommended experience
What you'll learn
Describe basic algorithm design techniques
Create divide and conquer, dynamic programming, and greedy algorithms
Understand intractable problems, P vs NP and the use of integer programming solvers to tackle some of these problems
Skills you'll gain
Tools you'll learn
Details to know

Add to your LinkedIn profile
18 assignments
See how employees at top companies are mastering in-demand skills

Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate

There are 4 modules in this course
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
Instructor

Offered by
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Learner reviews
- 5 stars
77.36%
- 4 stars
15.63%
- 3 stars
2.46%
- 2 stars
1.64%
- 1 star
2.88%
Showing 3 of 243
Reviewed on Sep 18, 2022
Great work from professor Sriram Sankaranarayanan explaining such complex material. I wish we could review more examples during the class (specially Dynamic Programming ones).
Reviewed on Sep 20, 2021
Excellent. This course covers some difficult topics, but the lectures and homework assignments were superb and made them quite approachable.
Reviewed on Dec 6, 2022
This course save me time on learning the dynamic programming. I really love the 4-steps to construct the dynamic programming. It gives me the guideline when designing DP solution.
Explore more from Computer Science

University of Colorado Boulder

University of Colorado Boulder

Stanford University


