Warning: fopen(dane.txt) [function.fopen]: failed to open stream: Permission denied in /home/zaplecze3/domains/wokanda.info/public_html/wiki/strona.php on line 347

Warning: flock() expects parameter 1 to be resource, boolean given in /home/zaplecze3/domains/wokanda.info/public_html/wiki/strona.php on line 352

Warning: fclose(): supplied argument is not a valid stream resource in /home/zaplecze3/domains/wokanda.info/public_html/wiki/strona.php on line 353
Algorithme de parcours en largeur - Wikipédia

Wielka Encyklopedia Wiedzy



Szukaj:



Ostatnio oglądane:
  • Strona Głśwna [pl]
  • 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.

    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 | Български | Català | Cebuano | Česky | Dansk | Deutsch | Eesti | English | Español | Esperanto | Français | עברית | Hrvatski | Italiano | 한국어 | Lietuvių | Magyar | Nederlands | 日本語 | Norsk (bokmål) | Polski | Português | Русский | Română | Slovenčina | Slovenščina | Српски / Srpski | Suomi | Svenska | తెలుగు | Türkçe | Українська | 中文

    Wikipedia jest zarejestrowanym znakiem towarowym Wikimedia Foundation
    Wszystkie materiały pochodzą z Wikipedii, obięte są licencją GNU Free Documentation License
    no host sprawdz strone no host 906 906 wymiana linkami system wymiany linków wymiana linkami system wymiany linków SEO Tools