Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Prim's MST | Greedy on Graphs
Greedy Algorithms using Python
course content

Contenu du cours

Greedy Algorithms using Python

Greedy Algorithms using Python

1. Greedy Algorithms: Overview and Examples
2. Greedy on Arrays
3. Greedy on Graphs

book
Prim's MST

This algorithm is another one approach to find the MST - minimum spanning tree. The main idea is to partition a set of vertices into two: included to MST already and excluded. Step by step you’ll replace vertices from the second set to the first by picking the less weighted edge that connects both sets.

So algorithm is next:

  1. Put the start vertex to the visited, the rest will be unvisited, i. e. in the second set.
  2. Start adding vertices. Visit all neighbors for all visited vertices and select the edge with least weight, that does not create a cycle. Mark the adjacent vertex as visited.
  3. Do the 2) until all vertices are visited.

You can find a lot of different implementations, but the main idea is to put all vertices into the visited set step by step.

Tâche

Swipe to start coding

Complete the primMST() algorithm inside Graph class. Init the graph and call this method. To detect a cycle, use BFS() or DFS() algorithms. You can implement it inside the class.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 4
toggle bottom row

book
Prim's MST

This algorithm is another one approach to find the MST - minimum spanning tree. The main idea is to partition a set of vertices into two: included to MST already and excluded. Step by step you’ll replace vertices from the second set to the first by picking the less weighted edge that connects both sets.

So algorithm is next:

  1. Put the start vertex to the visited, the rest will be unvisited, i. e. in the second set.
  2. Start adding vertices. Visit all neighbors for all visited vertices and select the edge with least weight, that does not create a cycle. Mark the adjacent vertex as visited.
  3. Do the 2) until all vertices are visited.

You can find a lot of different implementations, but the main idea is to put all vertices into the visited set step by step.

Tâche

Swipe to start coding

Complete the primMST() algorithm inside Graph class. Init the graph and call this method. To detect a cycle, use BFS() or DFS() algorithms. You can implement it inside the class.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 4
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt