Kruskal, Prim, Djisktra Flashcards

(35 cards)

1
Q

[Dijkstra] Initialisation : que vaut la distance de tous les sommets ?

A

∞ sauf le sommet source qui vaut 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

[Dijkstra] Quelle structure utilise-t-on pour choisir le prochain sommet ?

A

File de priorité (min-heap)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

[Dijkstra] Que fait-on lorsqu’on visite un voisin v de u ?

A

Si dist[u] + poids(u,v) < dist[v], on met à jour dist[v]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

[Dijkstra] Complète : Dijkstra ne fonctionne pas si le graphe contient des ________

A

poids négatifs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

[Dijkstra] Complexité avec file de priorité et liste d’adjacence ?

A

Θ((n + a) log n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

[Dijkstra] Vrai ou Faux : Dijkstra peut être utilisé sur un graphe non orienté

A

Vrai

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

[Dijkstra] Quand Dijkstra donne-t-il une solution optimale ?

A

Toujours si les poids sont positifs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Complète : La distance minimale du sommet source est mise à jour par ________

A

relaxation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

[Kruskal] Quel est le principe général de Kruskal ?

A

Trier les arêtes par poids croissant et ajouter celles qui ne forment pas de cycle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

[Kruskal] Quelle structure de données est essentielle pour éviter les cycles ?

A

Structure d’ensemble disjoint (Union-Find)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

[Kruskal] Complète : Kruskal fonctionne uniquement si le graphe est ________

A

connexe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

[Kruskal] Complexité avec Union-Find efficace ?

A

Θ(a log n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

[Kruskal] Fonctionne-t-il sur un graphe orienté ?

A

Non, seulement sur les graphes non orientés

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

[Kruskal] Que doit-on faire après avoir trié les arêtes ?

A

Parcourir les arêtes en ajoutant celles qui relient deux composants distincts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

[Prim] Quelle est la stratégie de Prim ?

A

Construire l’arbre en ajoutant à chaque fois l’arête minimale reliant un sommet visité à un sommet non visité

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

[Prim] Quelle structure est utilisée pour choisir l’arête minimale suivante ?

A

File de priorité sur les sommets

17
Q

[Prim] Complète : On démarre l’algorithme de Prim à partir ________

A

d’un sommet arbitraire

18
Q

[Prim] Complexité avec file de priorité binaire ?

A

Θ((n + a) log n)

19
Q

[Prim] Fonctionne-t-il sur graphe orienté ?

A

Non, seulement sur graphe non orienté pondéré

20
Q

[Prim] Quand ne pas utiliser Prim ?

A

Sur un graphe non connexe, car on ne peut pas atteindre tous les sommets

21
Q

Complète : Dijkstra suppose que tous les poids sont ________

22
Q

Complète : Kruskal trie les ________ pour construire l’ACM

23
Q

Complète : Prim sélectionne toujours l’arête ________ connectant un sommet visité à un non visité

A

de poids minimal

24
Q

Vrai ou Faux : Kruskal et Prim produisent le même arbre si les poids sont uniques

25
Quel algorithme parmi Dijkstra, Kruskal et Prim fonctionne aussi sur des graphes partiellement connectés ?
Kruskal (il construit une forêt)
26
Quand est-il mieux d’utiliser Dijkstra que Kruskal ?
Quand on cherche un chemin de coût minimal depuis un sommet source vers tous les autres
27
Quand est-il mieux d’utiliser Kruskal que Dijkstra ?
Quand on veut construire un arbre couvrant de poids minimal (ACM)
28
Quand est-il mieux d’utiliser Prim plutôt que Kruskal ?
Quand le graphe est dense et représenté avec une matrice d’adjacence
29
Quand est-il mieux d’utiliser Kruskal que Prim ?
Quand le graphe est clairsemé et représenté avec une liste d’adjacence
30
Quel algorithme est préférable pour un graphe non connexe ?
Kruskal (il construit une forêt de minimums)
31
Quel algorithme est plus simple à implémenter sans file de priorité ?
Kruskal
32
Quel algorithme est sensible aux poids négatifs ?
Dijkstra
33
Si tu dois connaître la structure exacte du chemin minimum, que dois-tu conserver dans Dijkstra ?
Les pointeurs vers les prédécesseurs (predecesseurs)
34
Vrai ou faux : Prim est plus rapide que Kruskal sur les graphes très denses ?
Vrai
35
Complète : Si tu veux un ACM et que tu as une structure Union-Find prête, utilise ________
Kruskal