Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

Methode

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

Coursera (CC)
Logo von Coursera (CC)
Bewertung: starstarstarstar_halfstar_border 7,2 Bildungsangebote von Coursera (CC) haben eine durchschnittliche Bewertung von 7,2 (aus 6 Bewertungen)

Tipp: Haben Sie Fragen? Für weitere Details einfach auf "Kostenlose Informationen" klicken.

Beschreibung

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).

Who is this class for: Learners with at least a little bit of programming experience who want to learn the essentials of algorithms. In a University computer science curriculum, this course is typically taken in the third year.

Created by:  Stanford University
  • Taught by:  Tim Roughgarden, Professor

    Computer Science
Basic Info Course 3 of 4 in the Algorithms Specialization Level Intermediate Commitment 4 weeks of study, …

Gesamte Beschreibung lesen

Frequently asked questions

Es wurden noch keine FAQ hinterlegt. Falls Sie Fragen haben oder Unterstützung benötigen, kontaktieren Sie unseren Kundenservice. Wir helfen gerne weiter!

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).

Who is this class for: Learners with at least a little bit of programming experience who want to learn the essentials of algorithms. In a University computer science curriculum, this course is typically taken in the third year.

Created by:  Stanford University
  • Taught by:  Tim Roughgarden, Professor

    Computer Science
Basic Info Course 3 of 4 in the Algorithms Specialization Level Intermediate Commitment 4 weeks of study, 4-8 hours/week Language English How To Pass Pass all graded assignments to complete the course. User Ratings 4.8 stars Average User Rating 4.8See what learners said Travail en cours

Chaque cours fonctionne comme un manuel interactif en proposant des vidéos préenregistrées, des quiz et des projets.

Aide de la part de vos pairs

Connectez-vous à des milliers d'autres étudiants et débattez sur des idées, discutez le contenu du cours et obtenez de l'aide pour en maîtriser les concepts.

Certificats

Obtenez une reconnaissance officielle pour votre travail et partagez votre réussite avec vos amis, vos collègues et vos employeurs.

Stanford University The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is an American private research university located in Stanford, California on an 8,180-acre (3,310 ha) campus near Palo Alto, California, United States.

Syllabus


WEEK 1


Week 1
Two motivating applications; selected review; introduction to greedy algorithms; a scheduling application; Prim's MST algorithm.


16 videos, 4 readings expand


  1. Lecture: Week 1 Overview
  2. Lecture: Overview, Resources, and Policies
  3. Lecture: Lecture slides
  4. Video: Application: Internet Routing
  5. Video: Application: Sequence Alignment
  6. Video: Introduction to Greedy Algorithms
  7. Video: Application: Optimal Caching
  8. Video: Problem Definition
  9. Video: A Greedy Algorithm
  10. Video: Correctness Proof - Part I
  11. Video: Correctness Proof - Part II
  12. Video: Handling Ties [Advanced - Optional]
  13. Video: MST Problem Definition
  14. Video: Prim's MST Algorithm
  15. Video: Correctness Proof I
  16. Video: Correctness Proof II
  17. Video: Proof of Cut Property [Advanced - Optional]
  18. Video: Fast Implementation I
  19. Video: Fast Implementation II
  20. Lecture: Optional Theory Problems (Week 1)

Graded: Problem Set #1
Graded: Programming Assignment #1

WEEK 2


Week 2
Kruskal's MST algorithm and applications to clustering; advanced union-find (optional).


16 videos, 2 readings expand


  1. Lecture: Week 2 Overview
  2. Video: Kruskal's MST Algorithm
  3. Video: Correctness of Kruskal's Algorithm
  4. Video: Implementing Kruskal's Algorithm via Union-Find I
  5. Video: Implementing Kruskal's Algorithm via Union-Find II
  6. Video: MSTs: State-of-the-Art and Open Questions [Advanced - Optional]
  7. Video: Application to Clustering
  8. Video: Correctness of Clustering Algorithm
  9. Video: Lazy Unions [Advanced - Optional]
  10. Video: Union-by-Rank [Advanced - Optional]
  11. Video: Analysis of Union-by-Rank [Advanced - Optional]
  12. Video: Path Compression [Advanced - Optional]
  13. Video: Path Compression: The Hopcroft-Ullman Analysis I [Advanced - Optional]
  14. Video: Path Compression: The Hopcroft-Ullman Analysis II [Advanced - Optional]
  15. Video: The Ackermann Function [Advanced - Optional]
  16. Video: Path Compression: Tarjan's Analysis I [Advanced - Optional]
  17. Video: Path Compression: Tarjan's Analysis II [Advanced - Optional]
  18. Lecture: Optional Theory Problems (Week 2)

Graded: Problem Set #2
Graded: Programming Assignment #2

WEEK 3


Week 3
Huffman codes; introduction to dynamic programming.


11 videos, 1 reading expand


  1. Lecture: Week 3 Overview
  2. Video: Introduction and Motivation
  3. Video: Problem Definition
  4. Video: A Greedy Algorithm
  5. Video: A Complex Example
  6. Video: Correctness Proof I
  7. Video: Correctness Proof II
  8. Video: Introduction: Weighted Independent Sets in Path Graphs
  9. Video: WIS in Path Graphs: Optimal Substructure
  10. Video: WIS in Path Graphs: A Linear-Time Algorithm
  11. Video: WIS in Path Graphs: A Reconstruction Algorithm
  12. Video: Principles of Dynamic Programming

Graded: Problem Set #3
Graded: Programming Assignment #3

WEEK 4


Week 4
Advanced dynamic programming: the knapsack problem, sequence alignment, and optimal binary search trees.


10 videos, 3 readings expand


  1. Lecture: Week 4 Overview
  2. Video: The Knapsack Problem
  3. Video: A Dynamic Programming Algorithm
  4. Video: Example [Review - Optional]
  5. Video: Optimal Substructure
  6. Video: A Dynamic Programming Algorithm
  7. Video: Problem Definition
  8. Video: Optimal Substructure
  9. Video: Proof of Optimal Substructure
  10. Video: A Dynamic Programming Algorithm I
  11. Video: A Dynamic Programming Algorithm II
  12. Lecture: Optional Theory Problems (Week 4)
  13. Lecture: Info and FAQ for final exam

Graded: Problem Set #4
Graded: Programming Assignment #4
Graded: Final Exam

Werden Sie über neue Bewertungen benachrichtigt

Es wurden noch keine Bewertungen geschrieben.

Schreiben Sie eine Bewertung

Haben Sie Erfahrung mit diesem Kurs? Schreiben Sie jetzt eine Bewertung und helfen Sie Anderen dabei die richtige Weiterbildung zu wählen. Als Dankeschön spenden wir € 1,00 an Stiftung Edukans.

Es wurden noch keine FAQ hinterlegt. Falls Sie Fragen haben oder Unterstützung benötigen, kontaktieren Sie unseren Kundenservice. Wir helfen gerne weiter!

Bitte füllen Sie das Formular so vollständig wie möglich aus

(optional)
(optional)
(optional)
(optional)

Haben Sie noch Fragen?

(optional)

Anmeldung für Newsletter

Damit Ihnen per E-Mail oder Telefon weitergeholfen werden kann, speichern wir Ihre Daten.
Mehr Informationen dazu finden Sie in unseren Datenschutzbestimmungen.