18 episodes

In this graduate class, UC Davis computer science professor Charles Martel describes advanced methods for the design and analysis of algorithms. He applies these techniques to design fast solutions for a wide range of applications including scheduling, network routing, computational biology, resource management and network design.  The techniques studied include dynamic programming, network flows  and randomized algorithms. The class also studies how to classify problems as hard via np-completeness theory and how to deal with hard problems using approximation algorithms, special cases, and search techniques.

Design and Analysis of Algorithms (Fall, 2008) UC Davis

    • Technology
    • 3.7 • 3 Ratings

In this graduate class, UC Davis computer science professor Charles Martel describes advanced methods for the design and analysis of algorithms. He applies these techniques to design fast solutions for a wide range of applications including scheduling, network routing, computational biology, resource management and network design.  The techniques studied include dynamic programming, network flows  and randomized algorithms. The class also studies how to classify problems as hard via np-completeness theory and how to deal with hard problems using approximation algorithms, special cases, and search techniques.

    • video
    Introduction: Types of analysis

    Introduction: Types of analysis

    • 1 hr 23 min
    • video
    Finish 6.5; sequence alignment (6.6); linear space (6.7)

    Finish 6.5; sequence alignment (6.6); linear space (6.7)

    • 1 hr 25 min
    • video
    Linear space analysis (6.7); shortest paths (6.8-6.9, bit of 6.10)

    Linear space analysis (6.7); shortest paths (6.8-6.9, bit of 6.10)

    • 1 hr 21 min
    • video
    Network Flows (7.1, 7.2): Problem definition, residual graphs, Ford-Fulkerson algorithm

    Network Flows (7.1, 7.2): Problem definition, residual graphs, Ford-Fulkerson algorithm

    • 1 hr 21 min
    • video
    Network flows: Scaling algorithm, application to bipartite matching, disjoint paths (7.3, 7.5, 7.6)

    Network flows: Scaling algorithm, application to bipartite matching, disjoint paths (7.3, 7.5, 7.6)

    • 1 hr 21 min
    • video
    Network flow applications

    Network flow applications

    • 1 hr 20 min

Customer Reviews

3.7 out of 5
3 Ratings

3 Ratings

FotchyX ,

Useful and Accessible Lectures

Cohesive and logical follow up to the undergraduate algorithms class. These lectures will not teach you how to program exactly, but they will scaffold how you can think about algorithms at a high level and problem solve with computers.

Based on my experience, you'll be better equipped to evaluate and learn from the many, many resources scattered online. There's a flood of data structures and algorithms available, so it helps to know the main categories, problem types, and tools to evaluate them in practice.

Good luck and happy coding!

Top Podcasts In Technology

Listeners Also Subscribed To

More by UC Davis