Structures de données et algorithmes
Dans un graphe dont les arêtes n'ont pas de poids, on veut trouver le plus petit nombre d'arêtes entre un sommet de départ et chacun des autres sommets. Quelle association entre méthode de recherche et structure de données convient ?
- ALe parcours en largeur avec une file d'attente
- BLe parcours en profondeur avec une pile
- CLe parcours en largeur avec une pile
Afficher la réponse et l'explication
Réponse : A. Le parcours en largeur avec une file d'attente
Le parcours en largeur visite les sommets par ordre de distance : d'abord ceux qui sont à une arête du départ, puis ceux qui sont à deux arêtes, et ainsi de suite. Ajouter chaque sommet nouvellement découvert à l'arrière d'une file d'attente et prendre les sommets par l'avant préserve cet ordre « du plus proche au plus lointain » ; le nombre d'arêtes au moment où un sommet est atteint pour la première fois est donc le plus court. Le parcours en profondeur (par récursion ou avec une pile) avance le plus loin possible le long d'un chemin : il peut atteindre un sommet d'abord par un détour, et les distances les plus courtes ne sont pas garanties. Remplacer la file par une pile transforme le parcours en quelque chose de proche d'un parcours en profondeur.
Continuer : 9 autres questions sur Structures de données et algorithmes