To jest wikipedia ;)
Ogłoszenia konie najtańsze odżywki praca Expekt Kredyty odnawialne Wideorecka Spore | Mini spis | zmywarki | Lyftbord | futura
Warning: Cannot modify header information - headers already sent by (output started at /home/autoabc/domains/auto-abc.com.pl/public_html/wiki/orn2/101070edd3fdc0f5a6404e4cb2e8ad68-sys.php:202) in /home/autoabc/domains/auto-abc.com.pl/public_html/wiki/strona.php on line 203
Algorithme de parcours en largeur - Wikipédia

Wikipedia



Szukaj:


reklama3
Wybierz język: ar | id | bg | ca | ceb | cs | da | de | et | en | es | eo | fr | he | hr | it | ko | lt | hu | nl | ja | no | pl | pt | ru | ro | sk | sl | sr | fi | sv | te | tr | uk | zh

Algorithme de parcours en largeur

Un article de Wikipédia, l'encyclopédie libre.

reklama1
Aller à : Navigation, Rechercher
Pour les articles homonymes, voir BFS. Page d'aide sur l'homonymie

L'algorithme de parcours en largeur (ou BFS, pour Breadth First Search) permet le parcours d'un graphe de manière itérative, en utilisant une file. Il peut par exemple servir à déterminer la connexité d'un graphe.

[modifier] Principe

Cet algorithme diffère de l'algorithme de parcours en profondeur par le fait que, à partir d'un sommet S, il liste d'abord les voisins de S pour ensuite les explorer un par un. Ce mode de fonctionnement utilise donc une file FIFO dans laquelle il prend le premier sommet et place en dernier ses voisins non encore explorés.

Si le graphe est cyclique, il faudra en outre marquer les sommets déjà visités pour que l'algorithme puisse se terminer.


  1. Mettre le nœud de départ dans la file.
  2. Retirer le nœud du début de la file pour l'examiner.
  3. Mettre tous les voisins non examinés dans la file (à la fin).
  4. Si la file n'est pas vide reprendre à l'étape 2.

[modifier] Implémentation

BFS(graphe G, sommet s):
{
  f= CreerFile();
  Marquer(s);
  Enfiler(f, s);
  TANT-QUE NON FileVide(f) FAIRE
      x = Défiler(f);
      Afficher(x)
      TANT-QUE ExisteFils(x) FAIRE
          z = FilsSuivant(x);
          SI NonMarqué(z) ALORS 
              Marquer(z);
              Enfiler(f, z);
          FIN-SI
      FIN-TANT-QUE
  FIN-TANT-QUE
}

[modifier] Exemple

Sur le graphe suivant, cet algorithme va alors fonctionner ainsi:

Image:Graphes.dfs-bfs.exemple.png

Il explore dans l'ordre les sommets A, B, C, E, D, F, G, contrairement à l'algorithme de parcours en profondeur qui cherche dans cet ordre : A, B, D, F, E, C, G.

Change language: All | الررب٩ة | Bahasa Indonesia | Бѩлгарски | Catala | Cebuano | Hesky | Dansk | Deutsch | Eesti | English | Espanol | Esperanto | Français | עברית | Hrvatski | Italiano | 핶국어 | Lietuviu | Magyar | Nederlands | 旡涬誾 | Norsk (bokmál) | Polski | Portugues | Русскиб | Românã | Sloveniina | Sloven±iina | Српски / Srpski | Suomi | Svenska | తెలుగు | Tarkçe | УкраїнсѦка | 中文

Wikipedia jest zarejestrowanym znakiem towarowym Wikimedia Foundation
Wszystkie materiały pochodzą z Wikipedii, obięte są licencją GNU Free Documentation License