La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmes et structures de données avancées Cours 4

Présentations similaires


Présentation au sujet: "Algorithmes et structures de données avancées Cours 4"— Transcription de la présentation:

1 Algorithmes et structures de données avancées Cours 4
Patrick Reuter

2 + * 6 2 3 function calculer(noeud : p_t_noeud) : integer; begin
if (noeud^.contenu = '+') then result := calculer(noeud^.gauche) + calculer(noeud^.droite) else if (noeud^.contenu = '-') then result := calculer(noeud^.gauche) - calculer(noeud^.droite) else if (noeud^.contenu = '*') then result := calculer(noeud^.gauche) * calculer(noeud^.droite) else if (noeud^.contenu = '/') then result := calculer(noeud^.gauche) DIV calculer(noeud^.droite) else result := StrToInt(noeud^.contenu); end;

3 Attention : Pour la notation infix, il faut des parenthèses… + * * 6 2
3 3 Infix : 2*3+6 (resultat : 18) Prefix: *2+36 Postfix: 236+* Infix : 2*3+6 (resultat : 12) Prefix : +*236 Postfix 23*6+

4 procedure infixparentheses(noeud : p_t_noeud);
begin if (noeud^.gauche <> NIL) then Write(' ( '); infixparentheses (noeud^.gauche); end; Write(noeud^.contenu); if (noeud^.droite <> NIL) then infixparentheses (noeud^.droite); Write(' ) ');

5

6 Graphe eulérien Peut-on commencer une promenade sur une île ou une rive, terminer la promenade sur n'importe quelle autre (ou la même) île ou rive en passant exactement une fois sur chacun des ponts?

7 Abstraction

8 Les graphes Sommets (« nœuds ») Arêtes (« arcs »)

9 Motivation Illustration des objets et leurs relations entre eux
Une des structures de données les plus importantes Applications dans d’autres disciplines Chimie Économie Sociologie ..

10 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 d’arêtes (anglais : edges)

11 Les graphes On peut distinguer deux types de graphes
les graphes non orientés. les graphes orientés

12 Graphe non orienté est cousin de (relation symétrique)

13 Exemples

14 Graphe orienté est fils de

15 Exemples

16 Exemples

17 Exemple Le graphe du web peut être modélisé par un graphe orienté (V,E) de la manière suivante: les sommets sont des pages web étant données 2 pages web a et b, il existe une arête (a,b) dans E si et seulement s'il existe un lien hypertexte dans la page a qui pointe vers la page b.

18 Définitions Attention :
Il existe pleines de définitions différentes, attention à la nomenclature utilisée

19 Degré d’un sommet Le degré d’un sommet, noté d(s) avec s  V, est le nombre de brins ayant s comme extrémité Une boucle compte deux fois

20 Exemple de degré

21 Définitions Adjacence et Voisinage
Deux sommets sont dits adjacents lorsqu'ils sont reliés par une arête On dit aussi que ces sommets sont voisins. Le voisinage d'un sommet dans un graphe est l'ensemble de ses voisins.

22 Définitions Un sommet est dit isolé lorsqu’il est du degré 0
Parité des sommets un sommet est pair si son degré est pair. un sommet est impair si son degré est impair.

23 Définitions Soit G = (V,E) un graphe. Un sous-graphe de G est un graphe G' = (V',E') tel que: V’  V E’  E  on dit donc G'  G Une clique dans un graphe G est un sous-graphe de G qui est complet.

24 Exemple

25 Exemple Graphe

26 Exemple Sous-graphe Clique Ni sous-graphe, Ni clique

27 Définitions Un graphe régulier est un graphe où chaque sommet est de degré k. Un graphe complet est un graphe dont tous les sommets sont reliés deux à deux.

28 Isomorphisme Deux graphes G1 = (V1,E1) et G2 = (V2,E2) sont dites isomorphe s’il existe au moins une fonction bijective f telle que (u, v)  E1  (f(u), f(v))  E2

29 Exemple u A B C D E f(u) 1 5 A B D E C 4 3 2


Télécharger ppt "Algorithmes et structures de données avancées Cours 4"

Présentations similaires


Annonces Google