[PDF] Parcours dun arbre binaire 2 Algorithmes récursifs. Pour





Previous PDF Next PDF



Parcours dun graphe

1. 4. 2013 Exemple de codage : utilisation d'un dictionnaire python. Python. G=dict() ... Parcours en profondeur : principe de l'algorithme.



6.3.1 Parcours en profondeur itératif 6.3.2 Parcours en profondeur

Université Paris Diderot – LI0436 – 08/09. Ch6. Les arbres. 6.3.1 Parcours en profondeur itératif procedure Parcours(A); var X : sommet ;.



Algo Prog Objet Python

Parcours en profondeur d'abord (depth first). – Préfixé. – Infixé On peut éviter d'utiliser un algorithme récursif pour représenter un parcours en ...



Quelques rappels sur la théorie des graphes

Algorithme 4 : parcours en profondeur récursif (DFSrec)(S A



Parcours darbres ?

L'algorithme de parcours en profondeur (DFS) d'un graphe G prend un temps O(n+m). L'algorithme de parcours en profondeur peut être étendu pour.



Théorie des graphes et optimisation dans les graphes Table des

Algorithme de parcours en profondeur des sommets accessibles depuis s0 DFS(S A



TP Python: le retour de Ford-Fulkerson

L'algorithme de Ford-Fulkerson consiste à partir du flot nul et à effectuer des parcours en profondeur sur le graphe des résidus (défini plus tard) pour tenter 



Parcours dun arbre binaire

2 Algorithmes récursifs. Pour chacun des parcours définis ci-dessus (postfixe infixe



Arbres et récursivité

1. 7. 2020 Algorithme récursif La manière la plus simple de faire un parcours en profondeur est d'utiliser la récursion.



Corrigé - Percolation

proposé correspond à un parcours en profondeur du graphe (cet algorithme est étudié en détail en option informatique de seconde année).



[PDF] Parcours dun graphe

Parcours en profondeur Jean-Manuel Mény – IREM de LYON () Algorithmique ISN 2013 47 / 97 Page 66 Parcours en profondeur : principe de l'algorithme Vous 



[PDF] Arbres et graphes - Algo Prog Objet Python

Parcours en profondeur d'abord (depth first) – Préfixé – Infixé On peut éviter d'utiliser un algorithme récursif pour représenter un parcours en 



[PDF] 1 Parcours en profondeur 2 Tri topologique

Question 1 Appliquer l'algorithme à un graphe non connexe (tel qu'il existe deux sommets non reliés par un chemin) à partir de différents sommets pour 



[PDF] Parcours de graphes - IGM

Les deux types de parcours principaux pour les graphes sont les parcours en profondeur et en largeur Ce cha- pitre couvre les algorithmes correspondants 



[PDF] Graphes en Python - Jules Svartz

Algorithme 2 : Parcours en profondeur complet du graphe Entrée : Un graphe G donné par liste d'adjacence deja_vu[v] ? Faux pour tout sommet v;



[PDF] Parcours en profondeur dun graphe - DFS La méthode - ISN

On peut utiliser un algorithme récursif pour parcourir un graphe en profondeur En voici la description : 1 On part d'un nœud du graphe 2 On le marque comme 



[PDF] Première partie : Algorithmique avancée pour les graphes - CNRS

Une façon naïve de déterminer les différentes SCC d'un graphe consiste à faire un parcours (en largeur ou en profondeur) à partir de chacun des sommets du 



[PDF] Algorithmique et programmation à destination des étudiants dIMSD

1 août 2019 · Ce document contient en annexe un aide-mémoire sur les notations algorithmiques et Python sur les prérequis du cours 1 4 Quelques références L 



[PDF] Algorithmes illustrés

triée et comment cet algorithme serait implémenté en langage Python au cours de disputes des défis mathématiques et étudiait en profondeur les 



[PDF] Parcours de graphes et applications - ZoneNSI

Le parcours en profondeur d'un graphe (Depth First Search en anglais) c'est-à-dire un parcours où on explore chaque chemin jusqu'à son extrémité nale 

:

IREM DE LYON

Parcours d"un arbre binaire

Un arbre binaire est un arbre avec racine dans lequel tout noeud a au plus deux fils : un éventuel fils

gauche et un éventuel fils droit.

On illustrera avec l"arbre binaire suivant :r

a c hd ij `b e kf

1 Balade autour de l"arbre

On se balade autour de l"arbre en suivant les pointillés dans l"ordre des numéros indiqués :r

a c hd ij `b e kf1 2 3456
7 89

101112131415

16

171819202122

1

IREM DE LYON

1.1 Première définition des trois parcours

A partir de ce contour, on définit trois parcours des sommets de l"arbre : 1.

l "ordrep réfixe: on li stech aqueso mmetl apr emièrefois qu "onle r encontredan sla b alade.C eq ui

donne ici : ... 2.

l "ordrepost fixe: on liste c haquesomm etla der nièrefois q u"onle r encontre.C eq uidonn ei ci: . ..

3.

l "ordrein fixe: on li stec haquesommet ay antu nfils gauche l asecon defois qu "onl ev oitet cha que

sommet sans fils gauche la première fois qu"on le voit. Ce qui donne ici : ...

Une résolution

1. or drepréfixe : r,a,c,h,d,i,j,`,b,e,k,f. 2. or drepost fixe: h,c,i,`,j,d,a,k,e,f,b,r. 3. or dreinfix e: c,h,a,i,d,`,j,r,k,e,b,f.1.2 Seconde définition des trois parcours Dans la balade schématisée plus haut, on ajoute les fils fantômes manquants :r a c hd ij `b e kf

On peut ainsi considérer qu"on passe une fois à gauche de chaque noeud (en descendant), une fois en-

dessous de chaque noeud, une fois à droite de chaque noeud (en remontant). soit lor squ"onp asseà leu rga uche, soit lor squ"onp asseà leu rdr oite, soit lor squ"onp asseen-dessous .

Une résolution

1.

A g auche: préfix e.2

IREM DE LYON

2.

A d roite: post fixe.

3.

E n-dessous: i nfixe.2 Algorithmes récursifs

Pour chacun des parcours définis ci-dessus (postfixe, infixe, préfixe), définir récursivement le parcours.

Une résolution

1.

P arcoursp réfixe.Pseudo-code

ParcoursPréfixe (Arbre binaire T de racine r )

Afficher clef [ r ]

ParcoursPréfixe (Arbre de racine fils_gauche [ r ]) ParcoursPréfixe (Arbre de racine fils_droit [ r ])2.P arcoursp ostfixe.

Pseudo-code

ParcoursPostfixe (Arbre binaire T de racine r )

ParcoursPostfixe (Arbre de racine fils_gauche [ r ]) ParcoursPostfixe (Arbre de racine fils_droit [ r ])

Afficher clef [ r ]3.P arcoursin fixe.

Pseudo-code

ParcoursInfixe (Arbre binaire T de racine r )

ParcoursInfixe (Arbre de racine fils_gauche [ r ])

Afficher clef [ r ]

ParcoursInfixe (Arbre de racine fils_droit [ r ])3 Représentation en machine

Chaque noeud de l"arbre T est representé par un objet ayant un champ clef (des valeurs à trier par

exemple), un champ père, un champ fils_gauche, un champ fils_droit (stockent des pointeurs). Lorsque père[x]=NIL,xest la racine de l"arbre. Lorsquexn"a pas de fils gauche, fils_gauche[x]=NIL

(idem pour fils_droit). La racine de l"arbreTest pointée par l"attribut racine[T]. Lorsque racine[T]=NIL,

l"arbre est vide.3

IREM DE LYON

4 Complexité d"un parcours infixe

Vérifier qu"avecnnoeuds, le parcours infixePseudo-code

Parcours_Infixe (arbre binaire T de racine x)

Six distinct de NIL*****temps constant T(0)=c pour un sous¡arbre vide alors Parcours_Infixe ( arbre de racine fils_gauche [x]) *****temps T(k)

Afficher clef [x]

*****temps constant d

Parcours_Infixe ( arbre de racine fils_droit [x])

*****temps T(n¡k¡1)

FinSiprend un temps en£(n) (établir avec les notations suggérées ci-dessus :T(n)AE(cÅd)nÅc)

Une résolution

Amorce :T(0)AEcAE(cÅd)£0Åc.

Hérédité :

T(n)AET(k)ÅT(n¡k¡1)Åd

AE(cÅd)nÅc¡(cÅd)ÅcÅd

AE(cÅd)nÅc

5 La notation polonaise inverse

Écrire les sommets de l"arbre ci-dessous pour chacun des ordres postfixe, préfixe, infixe :¥

ab¡ cdÅ ef

Pour le parcours infixe, on ajoute la convention suivante : on ajoute une parenthèse ouvrante à chaque

fois qu"on entre dans un sous-arbre et on ajoute une parenthèse fermante lorsqu"on quitte ce sous-

arbre.4

IREM DE LYON

Une résolution

1. P réfixe(n otationpolo naise): ¥,£,Å,a,b,¡,c,d,Å,e,f. 2. P ostfixe(p olonaisein verse): a,b,Å,c,d,¡,£,e,f,Å,¥. 3.

I nfixe: a,Å,b,£,c,¡,d,¥,e,Å,f.

Avec un ajout de parenthèses (ouvrante en rencontrant le noeud racine du sous arbre pour la pre-

mière fois et fermante lorsqu"on le rencontre pour la dernière fois, avec exception sur les sous-

arbres constitués d"une feuille) :¡(aÅb)£(c¡d)¢¥(eÅf).

L"infixe nécessite cette convention pour lever les ambiguïtés, les deux autres non. La préfixe consiste à

voir les opérateurs comme des fonctions de deux variables : [Å(a,b),¡(c,d)],Å(e,f)´ Idem avec la postfixe mais avec la fonction écrite sur la droite.6 Le tri du bijoutier

On dispose d"une liste de nombres. Par exemple, la liste 7, 9, 3, 5, 4, 1, 8. On associe à chaque élémentn

de la liste un noeudv(initialisation : père[v]=NIL, fils_gauche[v]=NIL, fils_droit[v]=NIL, clef[v]=n).Pseudo-code

Arbre_Insérer(Arbre T, noeud z)

y:=NIL x:=racine [T]

TantQuex distinct de NIL faire

y:=x

Siclef [z] alorsx:= fils_gauche [x] sinonx:= fils_droit [x] FinSi

FinTantQue

père[z]:=y

Siy=NIL

alorsracine [T]:=z sinon

Siclef [z] alorsfils_gauche [y]:=z sinonfils_droit [y]:=z FinSi

FinSi5

IREM DE LYON

1.

D resserl "arbreobt enuen app liquantl "algorithmeArbr e_Inséreraux élément sde la l iste(dan s

l"ordre de la liste) en partant d"un arbre vide pour le premier élément, chaque appel à l"algorithme

modifiant l"arbre. 2. L "undes pa rcourspost fixe,infi xe,préfixe de la liste t riela liste .Lequ el? 3. D ansl acon structionde l "arbrepou ru neli sted ennombres, quel est le nombre de comparaisons effectuées dans le pire des cas? 4.

Q uele stl en ombrede compa raisonse ffectuéessi l "arbrefi nalest un arbr ebin airecomplet (arbr e

binaire dans lequel tout noeud autre qu"une feuille a deux fils et dans lequel les feuilles sont tous

des noeuds de même profondeur).

Une résolution

1.

L "arbreobt enu: 7

3 15 49
8 2.

Le p arcoursin fixetr iel ali ste.Les é lémentsde g auchesont e ne ffetpar const ructionp luspetit s

qu"un noeud et sont affichés avant le noeud dans l"ordre infixe et les éléments de droite qui sont,

par construction, plus grands sont affichés dans l"ordre infixe après le noeud. Par "récurrence", on

a donc un affichage des éléments de la liste dans l"ordre. On peut donner une version graphique de ce parcours en projetant verticalement les noeuds sur une droite horizontale (à dessiner sous l"arbre). 3.

Le p iredes cas corr espondaux cas où la li stee sttr iée(or drec roissantou décr oissant).Le nombr e

de comparaisons à effectuer est alors de 1Å2Å¢¢¢Å(n¡1)AE12 n(n¡1). 4. P ourajou teru nn oeuda univ eaude p rofondeurp(la racine étant au niveau de profondeur 0), on effectuepcomparaisons. Si la profondeur esth, on aura effectué une comparaison pour chacun des deux noeuds de profondeur 1 (2£1), deux comparaisons pour chacun des 22noeuds de pro- fondeur 2 ( total 2

1Å2£22), tros comparaisons pour chacun des 23noeuds de profondeur 3 (total

2

1Å2£22Å3£23) ...

Le nombre de comparaisons pour une profondeurhest (preuve facile par récurrence) : h X jAE1j£2jAE(h¡1)£2hÅ1Å26

IREM DE LYON

Avecnnoeuds (c"est à dirennombres à trier), on a 1Å2Å22Å¢¢¢Å2hAE2hÅ1¡1 et

h X On a donc un cas optimal enO(nlog(n)) et on peut montrer (comme pour le quick sort) que la hauteur moyenne d"un arbre binaire de recherche construit aléatoirement à partir denclefs

estO(log(n)) (référence : introduction à l"algorithmique, Cormen, Leiserson,Rivest, Stein, éditions

Dunod, 2002, page 258, paragraphe 12.4).

Les caractéristiques de temps sont les mêmes que pour le quick sort, mais avec un avantage du on crée un arbre de recherche pour le tri du bijoutier).7 Références 1.

I ntroductionà l "algorithmique.A uteurs: C ormen,Le iserson,Riv est,S tein.E ditionf rançaise: D u-

nod 2002.

Plus de 1100 pages sur les algorithmes et les structures de référence. Le chapitre 12 concerne les

arbres binaires de recherche. 2. U nar ticlede J ean-ClaudeO riolsur le site de l "apmepa vecu npas sagesur l et ridu b ijoutier: 3.

Le cou rsde Pierr eA udibert(P aris8 )en l igne:

quotesdbs_dbs16.pdfusesText_22

[PDF] parcours en largeur graphe java

[PDF] conflit de puissance définition

[PDF] parcours lecture acces pas cher

[PDF] parcours lecture pdf

[PDF] parcours lecture le petit chaperon rouge

[PDF] parcours lecture acces avis

[PDF] parcours lecture occasion

[PDF] coexistence pacifique cours

[PDF] archives militaire en ligne

[PDF] livret militaire en ligne

[PDF] la coexistence pacifique de 1953 ? 1962 pdf

[PDF] cornière catnic

[PDF] corniere galva pour brique

[PDF] corniere pour linteau brique

[PDF] cornière support briques