Revision sheet: Introduction aux graphes et parcours

Plan du Cours

  1. Connexité et composantes connexes
  2. Parcours des graphes
  3. Parcours orienté et successeurs
  4. File FIFO
  5. Parcours en largeur
  6. Plus court chemin
  7. Connexité par parcours en largeur
  8. Exercice final

1. Connexité et composantes connexes

Notions clés & Définitions

  • Graphe connexe : Un graphe est connexe si, pour toute paire de sommets, il existe une chaĂźne qui permet de passer de l’un Ă  l’autre.
  • Composantes connexes : Des composantes connexes sont des sous-ensembles de sommets dans lesquels la connexitĂ© existe, mĂȘme si le graphe global n’est pas connexe.

Points essentiels

  • Un graphe G=(X,U)G=(X,U) est connexe ssi il existe une chaĂźne reliant toute paire de sommets xx et yy.
  • Dans un graphe non connexe, on peut regrouper les sommets en composantes connexes formĂ©es par des sous-ensembles distincts.
  • Pour tester la connexitĂ©, on s’appuie sur des parcours qui visent Ă  relier des sommets via des chaĂźnes ou chemins successifs.

2. Parcours des graphes

Notions clés & Définitions

  • Parcours : Un parcours est une mĂ©thode systĂ©matique qui visite des sommets et suit l’évolution de leur Ă©tat jusqu’à ce que tous les sommets aient Ă©tĂ© traitĂ©s.
  • Ordre de prĂ©visite : L’ordre de prĂ©visite est la suite dans laquelle les sommets sont dĂ©couverts (ouverts) au cours du parcours.
  • Ordre de postvisite : L’ordre de postvisite est la suite dans laquelle les sommets sont fermĂ©s au cours du parcours.

Points essentiels

  • Le parcours commence avec tous les sommets non marquĂ©s puis rĂ©pĂšte : choisir un sommet non marquĂ© et l’ouvrir/fermer selon ses voisins.
  • On ferme un sommet xx quand tous ses sommets adjacents sont ouverts ou fermĂ©s.
  • Les listes d’exemple donnĂ©es montrent que la prĂ©visite et la postvisite ne sont pas forcĂ©ment identiques (prĂ©visite {A, B, D, C, E, F, G, H} et postvisite {A, C, B, D, E, F, G, H}).
  • Si le parcours depuis un sommet ne couvre pas tout, on recommence depuis un autre sommet non reliĂ© aux dĂ©jĂ  traitĂ©s.

3. Parcours orienté et successeurs

Notions clés & Définitions

  • Graphe orientĂ© : Un graphe orientĂ© reprĂ©sente les relations par des arcs, et l’orientation influence ce qu’on peut atteindre Ă  partir d’un sommet.
  • Successeur : Un successeur d’un sommet est un sommet atteignable directement depuis lui en suivant un arc.

Points essentiels

  • Dans un graphe orientĂ©, l’algorithme de parcours remplace la notion d’adjacent par la notion de successeur.
  • On ouvre un sommet yy non marquĂ© s’il est successeur d’un sommet xx dĂ©jĂ  ouvert.
  • On ferme un sommet xx quand tous ses successeurs sont ouverts ou fermĂ©s.
  • Pour dĂ©terminer la connexitĂ© en orientĂ©, on peut occulter l’orientation et considĂ©rer les arcs comme des arĂȘtes lors du test par parcours en largeur.

4. File FIFO

Notions clés & Définitions

  • File : Une file est une structure de donnĂ©es ordonnĂ©e sur laquelle on retire uniquement l’élĂ©ment en tĂȘte et on ajoute uniquement en queue.
  • File FIFO : Une file FIFO (First In First Out) traite d’abord les Ă©lĂ©ments arrivĂ©s en premier, car ils sont retirĂ©s depuis la tĂȘte.

Points essentiels

  • Une file FIFO rĂ©alise deux opĂ©rations : suppression de la tĂȘte et insertion en queue.
  • Le rĂŽle de la file est central dans le parcours en largeur pour respecter l’ordre de traitement des sommets.
  • La logique de file correspond Ă  une file d’attente : entrĂ©e par la queue et sortie par la tĂȘte.

5. Parcours en largeur

Notions clés & Définitions

  • Parcours en largeur : Le parcours en largeur est un parcours qui explore progressivement un graphe par couches Ă  l’aide d’une file FIFO.
  • PrĂ©visiter : PrĂ©visiter un sommet signifie l’ouvrir et l’ajouter pour un traitement futur selon la file.
  • Postvisiter : Postvisiter un sommet signifie fermer le sommet une fois que ses successeurs ont Ă©tĂ© mis en file.

Points essentiels

  • Le parcours en largeur utilise une file : on prĂ©visite un sommet non marquĂ© puis on le met en file.
  • Tant que la file n’est pas vide, on retire le sommet xx en tĂȘte, puis on met en file tous ses successeurs yy non marquĂ©s.
  • Quand tous les successeurs de xx ont Ă©tĂ© traitĂ©s (mis en file), on postvise (ferme) xx.
  • Les exemples du cours donnent pour un cas : prĂ©visite A, B, C, F, D, E et postvisite A, B, C, F, D, E.

6. Plus court chemin

Notions clés & Définitions

  • Plus court chemin : Le plus court chemin entre deux sommets est le chemin qui minimise le nombre d’arcs (ou arĂȘtes) rencontrĂ©s.
  • Distance d(x)d(x) : La distance d(x)d(x) est une valeur associĂ©e aux sommets qui permet de mĂ©moriser le nombre d’arcs depuis le sommet initial pendant l’algorithme.

Points essentiels

  • Dans ce cours, la longueur d’une chaĂźne correspond au nombre d’arcs (ou d’arĂȘtes) rencontrĂ©s.
  • On initialise d(x)=0d(x)=0 pour le sommet initial xx puis, lors de l’exploration, on affecte d(y)=d(x)+1d(y)=d(x)+1 pour chaque successeur yy nouvellement mis en file.
  • L’algorithme du plus court chemin s’appuie sur le parcours en largeur et une file FIFO pour explorer par niveaux.
  • Le dĂ©roulĂ© est dĂ©crit comme identique au parcours prĂ©cĂ©dent, avec uniquement une incrĂ©mentation de la valeur dd Ă  chaque Ă©tape.

7. Connexité par parcours en largeur

Notions clés & Définitions

  • Graphe symĂ©trique : Un graphe symĂ©trique est obtenu en rendant un graphe orientĂ© Ă©quivalent en remplaçant chaque arc par une relation bidirectionnelle.
  • Arborescence : Une arborescence correspond Ă  un ensemble de sommets atteints depuis un sommet de dĂ©part lors du parcours, formant une couverture cohĂ©rente.

Points essentiels

  • Pour un graphe orientĂ©, on teste la connexitĂ© en occultant l’orientation des arcs (on les considĂšre comme des arĂȘtes).
  • Pendant le parcours en largeur, si la file ne se vide qu’au tout dĂ©but puis Ă  la toute fin, le graphe est connexe.
  • Si la file se vide au milieu, le graphe n’est pas connexe et il se dĂ©compose en plusieurs composantes connexes correspondant Ă  des arborescences trouvĂ©es.
  • Un exemple donne deux composantes connexes {A, B, C, E} et {D} quand la file devient vide en plein dĂ©roulement.

8. Exercice final

Notions clés & Définitions

  • ConnexitĂ© : La connexitĂ© est la propriĂ©tĂ© d’un graphe oĂč une chaĂźne relie toute paire de sommets.
  • Chemin de A Ă  C : Le chemin de A Ă  C est Ă©valuĂ© via le plus court chemin, en minimisant le nombre d’arcs ou d’arĂȘtes rencontrĂ©s.

Points essentiels

  • L’exercice demande d’indiquer si le graphe fourni est connexe.
  • L’exercice demande aussi la valeur du plus court chemin pour aller de A Ă  C.
  • La correction attend des rĂ©ponses issues directement des tests par parcours en largeur (connexitĂ©) et du calcul de distances (plus court chemin).

PiÚges & confusions fréquents

  1. Confondre connexitĂ© (existence d’une chaĂźne entre toute paire) et parcours (mĂ©thode de visite), car un parcours partiel implique souvent des composantes distinctes.
  2. Utiliser adjacent au lieu de successeur dans le cas orientĂ© : l’orientation change ce qu’on peut atteindre.
  3. Croire que la prĂ©visite et la postvisite sont toujours les mĂȘmes, alors que les exemples montrent des ordres diffĂ©rents.
  4. Oublier l’initialisation d(x)=0d(x)=0 au sommet initial dans le plus court chemin, ce qui fausse la valeur d(y)=d(x)+1d(y)=d(x)+1.
  5. Conclure Ă  la connexitĂ© d’un graphe orientĂ© sans rendre le graphe symĂ©trique dans la mĂ©thode du cours.
  6. Se tromper sur le critĂšre file vide au milieu : cela indique la non-connexitĂ© et non un simple changement d’ordre d’exploration.

Checklist Examen

  1. DĂ©finir ce qu’est un graphe connexe en termes de chaĂźne reliant toute paire de sommets.
  2. Expliquer ce que sont des composantes connexes quand un graphe n’est pas connexe.
  3. Décrire le schéma général de parcours avec états non marqués puis ouverture/fermeture selon la condition sur les voisins.
  4. Donner la diffĂ©rence d’algorithme entre graphe non orientĂ© (adjacent) et graphe orientĂ© (successeur).
  5. DĂ©finir une file et sa logique FIFO en termes de tĂȘte et de queue.
  6. Énoncer les Ă©tapes du parcours en largeur : prĂ©visiter et insĂ©rer dans la file, puis retirer en tĂȘte et insĂ©rer les successeurs non marquĂ©s.
  7. Calculer la distance d(y)d(y) dans l’algorithme du plus court chemin à partir de d(x)d(x) avec la relation d(y)=d(x)+1d(y)=d(x)+1.
  8. Conclure la connexité par parcours en largeur : file vidée seulement au début et à la fin implique connexe, sinon non connexe.
  9. Relier le test de connexitĂ© orientĂ©e au graphe symĂ©trique en occultant l’orientation des arcs.
  10. RĂ©soudre l’exercice final en utilisant : parcours en largeur pour la connexitĂ© et distances pour le plus court chemin de A Ă  C.

Test your knowledge

Test your knowledge on Introduction aux graphes et parcours with 11 multiple-choice questions with detailed corrections.

1. Quand un graphe est-il dit connexe ?

2. Qu'est-ce qu'un graphe connexe ?

Take the quiz →

Review with flashcards

Memorize the key concepts of Introduction aux graphes et parcours with 9 interactive flashcards.

ConnexitĂ© — dĂ©finition ?

Un graphe est connexe si toute paire de sommets est reliée par une chaßne.

Graphes connexes

ChaĂźne entre tout couple de sommets.

Composantes connexes — rîle ?

Sous-ensembles maximaux de sommets oĂč la connexitĂ© est assurĂ©e.

See flashcards →

Similar courses

Create your own revision sheets

Import your course and AI generates sheets, quizzes and flashcards in 30 seconds.

Sheet generator