II. Les différents algorithmes
B.Algorithme de Kruskal
L'algorithme de Kruskal est le utilisé dans la théorie des graphes pour
construire une arborescence de chemin minimal. Il peut être résumé par le pseudo-
code suivant
1) Calculer toutes les distances entre les sommets
2) Trier ces distances par ordre croissant les mettre dans un tableau
3) Inclure la plus courte liaison entre deux sommets (i, j) dans l'arbre
4) Enlever cette liaison entre (i, j) du tableau
5) SI l'inclusion de la liaison (i, j) forme un cycle ALORS
Enlever cette liaison (i, j) de l'arbre
6) SI l'arbre est connexe ALORS
Aller au 8
7) Revenir au 3
8) Fin
Inconvénients:
Il se trouve que cet algorithme implique une connaissance totale des
distances qui séparent des sommets deux à deux. Ce n'est pas tout car d'une part, à
chaque itération il faut vérifier constamment si la nouvelle liaison que l'on vient
d'insérer dans l'arbre ne forme pas un cycle. Et d'autre part, à l'étape 6, nous devons
aussi vérifier si l'arbre n'est pas connexe. De plus, il faut ensuite parcourir tout le
tableau de distances pour trouver le plus court chemin entre deux sommets. Dans
tous les cas, cet algorithme nous demande une taille de mémoire importante pour
stocker toutes ces informations.
Au moindre changement de la carte, il faut réitérer l'algorithme afin de
maintenir des informations à jour. Or, les niveaux de trafics varient constamment
dans le jeu. Ceci posera donc une sérieuse problème de performance.
Avantages:
Le plus court chemin entre deux sommets quelconques sont connues à tout
instant.
4 / 15