Advanced Algorithms and Complexity

Description

You’ve learned the basic algorithms now and 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 obvious applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision or finding dense clusters in the advertiser-search query graphs at search engines. We then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements, call routing in telecommunications 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 approximately in a reasonable time. We finish with some applications to Big Data and Machine Learning which are heavy on algorithms right now.



Have you tried this resource? Help someone out by sharing your thoughts!

Write a review

More Ways to Learn Algorithms

CS303: Algorithms
Saylor Academy
CS303: Algorithms
College | Free
Algorithmic Thinking (Part 2)
Rice University
Algorithmic Thinking (Part 2)
7th - College | Free
Algorithm Master: Python
Juni Learning
Algorithm Master: Python
7th - College | $250 Monthly
Algorithms on Strings
University of California, San Diego, Higher School of Economics
Algorithms on Strings
College | Free