Advanced Algorithms and Complexity

University of California San Diego

In the Advanced Algorithms and Complexity course, you will explore the intricacies of advanced algorithms and their applications. Delve into network flows, linear programming, NP-complete problems, and learn how to cope with NP-completeness. Optionally, gain insight into streaming algorithms. This comprehensive course builds upon your foundational knowledge and equips you to tackle complex problems with confidence.

Certificate Available ✔

Get Started / More Info
Advanced Algorithms and Complexity
Course Modules

The course covers network flows, linear programming, NP-complete problems, coping with NP-completeness, and optionally, streaming algorithms, providing comprehensive insights into advanced algorithms and their applications.

Flows in Networks

This module introduces network flows and covers topics such as residual networks, maxflow-mincut, flow algorithms, and their applications in image segmentation and matching problems. You will also gain an understanding of the Ford-Fulkerson and Edmonds-Karp algorithms.

Linear Programming

In this module, you will explore linear programming, including the method of substitution, Gaussian elimination, convexity, duality, and the simplex algorithm. Gain practical knowledge through programming assignments and quizzes to reinforce your learning.

NP-complete Problems

Dive into NP-complete problems and learn about brute force search, traveling salesman problem, reductions, and using SAT-solvers. This module equips you to understand inherently hard problems and their practical solutions.

Coping with NP-completeness

This module provides strategies to cope with NP-completeness, covering topics such as 2-SAT, independent sets in trees, TSP algorithms, and vertex cover. You will explore backtracking, local search, and dynamic programming approaches to solve complex problems.

Streaming Algorithms (Optional)

Optionally, explore streaming algorithms and learn about the heavy hitters problem, basic estimates, final algorithms, and proofs. This module provides insights into processing huge datasets without storing them, a crucial skill in Big Data applications.

More Algorithms Courses


University of California, Irvine

Gain a fundamental understanding of blockchain technology and its applications in decentralized transaction processing, enhancing trust and confidence in cryptocurrency...

Combinatorics and Probability

University of California San Diego

This course explores combinatorics and probability, offering a comprehensive understanding of counting and probability theory. It provides practical applications...

Le Où, Pourquoi et Comment des Fonctions Lambda en Python

Coursera Project Network

Explore the power of Lambda functions in Python, mastering their use and integration with conditional structures, map, filter, and alternative implementations.

Visual Perception

Columbia University

This course on Visual Perception delves into the core principles of computer vision, covering object tracking, image segmentation, appearance matching, and neural...