Coursera
Coursera Logo

University of Colorado Boulder - Dynamic Programming, Greedy Algorithms 

  • Offered byCoursera

Dynamic Programming, Greedy Algorithms
 at 
Coursera 
Overview

Duration

17 hours

Total fee

Free

Mode of learning

Online

Difficulty level

Advanced

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Dynamic Programming, Greedy Algorithms
 at 
Coursera 
Highlights

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Course 3 of 3 in the Data Structures and Algorithms Specialization
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Advanced Level Completion of previous courses. Calculus, probability theory: distributions, expectations and moments. Some programming experience with Python.
  • Approx. 17 hours to complete
  • English Subtitles: English
Read more
Details Icon

Dynamic Programming, Greedy Algorithms
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • 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
 at 
Coursera 
Curriculum

Divide and Conquer Algorithms

What Are Divide and Conquer Algorithms?

Max Subarray Problem Using Divide and Conquer

Karatsuba?s Multiplication Algorithm

Master Method Revisited

FFT Part 1: Introduction and Complex Numbers

FFT Part 2: Definition and Interpretation of Discrete Fourier Transforms

FFT Part 3: Divide and Conquer Algorithm for FFT

Application # 1 : Fast Polynomial Multiplication using FFT

Application # 2: Data Analysis using FFT

Course Syllabus (completed by instructor)

Course Facilitation (completed by facilitator)

Quiz on max subarray problem

Quiz on Karatsuba's Multiplication Algorithm

Quiz on Master Method

Quiz on Complex Numbers and Roots of Unity

Quiz on FFT Algorithm and Applications

Dynamic Programming Algorithms

Introduction to Dynamic Programming + Rod Cutting Problem

Rod Cutting Problem: Memoization

Coin Changing Problem

Knapsack Problem

When Optimal Substructure Fails

Dynamic Programming: Longest Common Subsequence

Greedy Algorithms

Introduction to Greedy Algorithms

Greedy Interval Scheduling

Prefix Codes

Huffman Codes

Intractability and Supplement on Quantum Computing

Decision Problems and Languages

Polynomial Time Problems

NP Definition

NP Completeness and Reductions

Final Exam

About the Final Exam (completed by instructor)

Exam Proctoring, ProctorU Information, and Systems Test Links

Exam Tools (completed by instructor)

NOTE: Do Not Open Password Quiz Yourself

Practice Exam (Optional)

MS-DS Proctored Exam Password Quiz

DTSA 5503 Dynamic Programming, Greedy Algorithms, and Intractability Final Exam

Other courses offered by Coursera

– / –
3 months
Beginner
– / –
20 hours
Beginner
– / –
2 months
Beginner
– / –
3 months
Beginner
View Other 6715 CoursesRight Arrow Icon
qna

Dynamic Programming, Greedy Algorithms
 at 
Coursera 

Student Forum

chatAnything you would want to ask experts?
Write here...