3

L'algorithme de Prim et Kruskal produisent tous deux l'arbre couvrant minimal. Selon la propriété cut, le coût total de l'arbre sera le même pour ces algorithmes, mais est-il possible que ces deux algorithmes donnent des MST différents avec le même coût total, étant donné que nous le choisissons dans l'ordre alphabétique face aux choix multiples . par exemple, on compare max (source, dest), pour les arêtes A-> B et B-> C, on compare A de A-> B et B de B-> C.Algorithme de Prim et Kruskal

Merci

Répondre

3

En supposant que votre comparateur traite le cas où les deux bords sont égaux dans le coût et le même caractère max (source, dest), il ne sera jamais déclarer les deux bords égaux. Pour qu'il y ait la possibilité de plusieurs MST, au moins deux arêtes dans le graphe doivent être égales. Par conséquent, le MST est unique, et l'algorithme de Prim et Kruskal retournera le même résultat. D'un autre côté, si votre comparateur déclare les arêtes A-> B (coût 1) et A-> C (coût 1) égales, il y a une possibilité que les algorithmes génèrent des MST différents, selon ce qui bord qu'ils considèrent en premier (A-> B ou A-> C).

+0

Il est vrai que pour qu'il y ait la possibilité de plusieurs MST, au moins deux arêtes dans le graphe doivent être égales. Cependant, cela ne signifie pas qu'il n'y a qu'un seul MST si le comparateur déclare chaque bord différent. Existe-t-il une preuve mathématique que lorsque le comparateur déclare chaque arête différente, Prim et Kruskal vont nécessairement générer le même MST? – user1687035

+0

Pour répondre à la question ci-dessus: si un graphe G a des poids de bord distincts, il a un MST unique. Je pense que cela signifie que peu importe le nœud sur lequel vous débutez pour Prim, vous obtiendrez le même MST pour Kruskal. – pennetti

Questions connexes