Algorithmes et structures de donn - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Algorithmes et structures de donn

Description:

D finir un tableau contenant des tiquettes pour chaque sommet. Etape 1 : montrer les ... D finir un tableau contenant un indicateur si un sommet a d j t ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 18
Provided by: PatrickR158
Category:

less

Transcript and Presenter's Notes

Title: Algorithmes et structures de donn


1
Algorithmes et structures de donnéesavancéesCo
urs 6
  • Patrick Reuter
  • http//www.labri.fr/preuter

2
Arbre binaire de recherche
  • procedure nomducle(noeud p_t_noeud cle
    integer)

15
Max
20
8
Nat
Rol
22
17
Polo
Tony
3
  • procedure nomducle(noeud p_t_noeud cle
    integer)
  • begin
  • if (noeud NIL) then
  • WriteLn('existe pas')
  • else if (noeud.cle cle) then
  • WriteLn('Solution ', noeud.nom)
  • else if (noeud.cle gt cle) then
  • nomducle(noeud.gauche, cle)
  • else
  • nomducle(noeud.droite, cle)
  • end

Complexité ??
4
Les graphes
  • Un graphe G (V,E) un couple de deux ensembles
  • Un ensemble V(G) v1, v2, , vn de sommets
    (anglais one vertex, two vertices)
  • Un ensemble E(G) ? V x V darêtes (anglais
    edges)

5
Définitions
  • Orientation
  • les graphes non orientés
  • les graphes orientés
  • degré
  • boucle
  • parité (sommets pairs et impairs)
  • adjacence, voisin et voisinage
  • sommet isolé
  • sous-graphe, clique
  • Graphe régulier
  • Graphe complet
  • Isomorphisme
  • Chaîne, chaîne simple, cycle
  • Connexité
  • Stockage des graphes

6
Matrice dadjacence
  • Pour des graphes orientés et non-orientés
  • Soit G (V,E) avec V v1, v2, , vn
  • La matrice dadjacence A est une matrice
    quadratique binaire de taille n x n avec
  • Ai,k 1 si (vi, vk) ? E, Ai,k 0 sinon
  • La matrice dadjacence dun graphe non orienté
    est symétrique
  • Suivant lordre des nœuds, il y a plusieurs
    matrice dadjacence du même graphe

7
Exemple
à
  • 0 0 0 0 1
  • 1 0 0 1 0
  • A 1 0 0 0 0
  • 0 0 0 0 0
  • 0 0 0 1 0

de
v1
v2
v5
v3
v4
8
Algorithmes sur les graphes
  • Comment trouver une chaîne entre s et t ?
  • Comment savoir si un graphe est connexe ?
  • Comment savoir si un graphe est eulérien ?

9
Graphe de contacts
  • Comment montrer les contacts des contacts des
    contacts

Petra
Patrick
Jérôme
Axl
Pierre
Clémentine
Luc
10
  • Définir une structure de données graphe
    dadjacence
  • Définir un tableau contenant des étiquettes pour
    chaque sommet

11
Etape 1 montrer les contacts directs
  • Entrée Graphe G définie par une matrice
    dadjacence A et un sommet s défini par son
    indice
  • procedure montrerContacts(s integer)
  • début
  • pour i de 1 à nbSommets(G)
  • si (i ? s ET Asi1) alors
  • afficher nomi à lécran
  • fin si
  • fin pour
  • fin
  • Montrer les conacts directs

12
  • Définir un tableau contenant un indicateur si un
    sommet a déjà été visité

13
Etape 2 montrer les contacts et les contacts
des contacts
  • Entrée Graphe G définie par une matrice
    dadjacence A et un sommet s défini par son
    indice
  • procedure montrerContacts(s integer)
  • Début
  • marquerSommet(s)
  • pour i de 1 à nbSommets(G)
  • si (i ? s ET Asi1 ET NOT marqué(i))
    alors
  • afficher nomi à lécran
  • fin si
  • fin pour
  • fin

14
Etape 2 montrer les contacts et les contacts
des contacts
  • Entrée Graphe G définie par une matrice
    dadjacence A et un sommet s défini par son
    indice
  • procedure montrerContacts(s integer)
  • Début
  • marquerSommet(s)
  • pour i de 1 à nbSommets(G)
  • si (i ? s ET Asi1 ET NOT marqué(i))
    alors
  • afficher nomi à lécran
  • marquerSommet(i)
  • pour j de 1 à nbSommets(G)
  • si (j ? s ET Aij1 ET NOT marqué(j))
    alors
  • marquerSommet(j)
  • afficher nomj à lécran
  • fin si
  • fin pour
  • fin si
  • fin pour
  • fin

15
Etape 3 Reconnaître la récursivité
  • Entrée Graphe G définie par une matrice
    dadjacence A et un sommet s défini par son
    indice
  • procedure montrerContacts(s integer)
  • Début
  • marquerSommet(s)
  • pour i de 1 à nbSommets(G)
  • si (i ? s ET Asi1 ET NOT marqué(i))
    alors
  • afficher nomi à lécran
  • marquerSommet(i)
  • pour j de 1 à nbSommets(G)
  • si (j ? s ET Asj1 ET NOT marqué(j))
    alors
  • marquerSommet(j)
  • afficher nomj à lécran
  • fin si
  • fin pour
  • fin si
  • fin pour
  • fin

16
Etape 4 Récursivité
  • Entrée Graphe G définie par une matrice
    dadjacence A et un sommet s défini par son
    indice
  • procedure montrerContacts(s integer)
  • Début
  • marquerSommet(s)
  • pour i de 1 à nbSommets(G)
  • si (i ? s ET Asi1 ET NOT marqué(i))
    alors
  • afficher nomi à lécran
  • montrerContacts(i)
  • fin si
  • fin pour
  • fin

17
Vérification des deux conditions dun algorithme
récursif
  • La fonction est appelé par elle-même
  • La fonction est protégé par une condition pour ne
    pas sappeler infiniment
  • Quand tous les sommets voisins dun sommet sont
    marqués, la fonction nest plus appelée.
Write a Comment
User Comments (0)
About PowerShow.com