Advanced Algorithms and Complexity

Coursera MOOC / Non-credit USD 79
Enroll now →
Advanced Algorithms and Complexity

About this course

In previous courses of our online specialization you've learned the basic algorithms, and now you are ready to step into the area of more complex problems and algorithms to solve them. Advanced algorithms build upon basic ones and use new ideas. We will start with networks flows which are used in more typical applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision. We then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements and many others. Next we discuss inherently hard problems for which no exact good solutions are known (and not likely to be found) and how to solve them in practice. We finish with a soft introduction to streaming algorithms that are heavily used in Big Data processing. Such algorithms are usually designed to be able to process huge datasets without being able even to store a dataset.

What you'll learn

  • understand network flows and their application in various fields
  • apply linear programming to real-world optimization problems
  • recognize and address inherently hard problems in algorithms
  • explore streaming algorithms for processing large datasets

Course objectives

  • build upon foundational algorithm knowledge
  • develop skills for solving complex algorithmic problems
  • gain practical insights into Big Data techniques

Skills you'll gain

Related courses

Course details are provided by the platform and may change — always confirm on the provider's site. Links may be affiliate links.