Matidre : INFORMATIQUE
Prof: ZEKRAOUI
Arbre Binaire
En Informatique, un arbro binalro est une structure de données quion peut représenter sous la forme d'une
higrarchie dans laquelle chaque élément posséde au plus deux fs, appelés: fils gauche et fils drolt. Lelément
{quise trouve au niveau supérieur est appelé : racine de arbre. Un élément de arbre qui posséde au moins un fils
est appelé : nenud (ou neoud interne). Un élément de arbre qui ne posséde aucun fils est appelé :feuille (ou
neoud oxterno). La profondour d'un élément de Varbre est le niveau dans lequel se trouve cet élément. La
hauteur de arbre est le nombre de nivaux dans arbre
Exomple :
Nie 2, | () (7) fowtun = §
ni 3
ney
Laracine dearbre est: Like Teowbite
Les neouds de arbre sont: 3,T,81,2 1,$1,% T,61 [o1a.4.5)3\40
Les feuilles de arbre sont: 41,301,418 1
La profondeur detest: 0
La profondeur de 10 est:
vvyvyyy
La hauteur de arbre est: §
I- Représentation d’un arbre binaire +
Pour représenter un arbre binaire, on ullise une liste de 3 éléments : [Neoud , [Fils Gauche }, [ Fils Droit }]
/O,01
Un arbre binaire vide est représente par une liste vide.
‘arbre binaire de exemple ci-dessus est représente par la liste A suivante
La feville sera représentée par la liste: [ Feu
Par exemple,
asf fata C.02), 05,0901, Lovcasc pc, BOO.B.O.0]], foo
aed Ata) aCe)
Page:B 4
Prof : ZEKRAG
ge fait en general de
parcours post-fixe et
15 et feuilless
e,
‘ui
e Parcours
yrs dun aroee
Le parcot
ursive. 11 exste
maniere 162
parcours infix.
Dans la fonction recurs
v si acest
apse)
sve qui manipule
si et alzi==0)
gi arnjecty ob a2} 0)
et a(2}==0)
si art !=0
et a2} !=U1
ments (noeuds
ars
ntient tous les éler
saiser une fonction qu parcourt arbre sinaie, et envove une simp tes qui cor
ct feuiles) de arbre.
oo ee
Parcours préfixe : paoud > tts gauche > fils ort
-traiter Ia racine
sous-arbre gauche
si a(t) !=00
| parcout
| pmcourtesoussrire dot
line prefixe (A)
| elif A[2J==0] and Al?
| case ars
| case arta
[and AL2]
and A(2]
Exemple :df
%
°
zs
‘aaa: INFORMATIQUE Prof : ZEKRAQUI
Parcours post-fixe : fils gauche > fils droit > nceud
- parcourir le sous-arbre gauche
= parcourir le sous-arbre droit
- traiter la racine
def postfixe (A):
Aes C14 veto C2
ahae 4 ebomum portyixe [LID ) 4 pertgere (pces)el
Parcours infixe : fils gauche > nooud > fils droit
- parcourir le sous-arbra gauche
| -traiter ta racine
- parcourir le sous-atbre droit
def infixe(A):
ah ne
dha + rebum anfixe (NUD) + {ator} +
ania (A023)
Exemple :Maligre : INFORMATIQUE
AII- Opérations sur un arbre binaire
1- Compter le nombre «éléments (neeuds et feuilles) dans Parbre binaire
def taille (a):
Af Aas CD t Coban
de 2 Cel (04 toalle (nc) + tose A
2- Compter Ie nombre de neeuds dans Psirbre binaire
def compten (a) :
3- Compter le nombre de feuilles dans Parbre binaire
def compteF (A) :
4- Recherche d’un élément dans arbre binaire
def existe (x,A):
5- Hauteur de arbre binaire
def hauteur (A):
Page :4
Prof : ZEKRAOUI“(Cvdy ) xh
|
|
(av) 2 they (Cod ult Cray) reefer wngan s rep [eau] (Gav) fey sees s 26
Cleat Ll es0 ty Ly th iesy
Sa EN € PE t(¥) OMTRUT 50D pa GN E 8 1(y) OMTIUT 30D
-Sn0S 9| 22d jUebuaWOD Us ]UessIOsD9p @.p10{ SUED oule} O| oULNEPIAg Ind UO "}OIP
wvesnooved ue sind ‘oulned e| sind "eyone® euque-snos | jwowenlsunags juesnoosed
U9 S99 Suna] op yessio.o eyps0, suep a4o.o4DeL ap ax}eUIG aque Up sjuaWi9ig $2] sos9dnogi juaWa}oe) Ned UO
Jiwopio sinoaaeg TT
(Ceram) speyrs op OP
(Ceaw !u) srryma sens 5s DUD +p
ay ps > Celw cee bp
sapy pa LL ev
eyozeyoet 0p
1
‘asie4 ejonuas eunybo!
quansedde.u egyoieyoes app ej anb s. lop aye} au
‘ique-snos 9] ins enujuco eyoJ04oed &| BG4o.040 99 e} & eAnaLIgJU| JUEUIEIDINS 1Se OUIDeA e| ep 910 e| |S EWE
aj uns ‘oyones esque-snos oj suep 159 91/0 suo[e ‘esnougdns
6p, Aso iayna 9.8] 18
fed yjy oun \ueRe prevu Up
‘j@69 snalea ap s9jp sep UOU no eujpuoju exznod
uo “YB 8p auAneo ua esti e| uojas ‘Jo-alja9 e euneupdns 9j9 euN epassod joup auque-snos np pneou enbeyo end
}2 ‘gu9pisuoo pnaou np aije0 & 9j269 no aunaueju} eo oun le eyoneB euque-snos np pneou anbeyo anb ajo} ‘gj oun
‘epessod pneu anbeyo jenbe| suep ovyeulg esque Un ys (yeIY) eyoseYDe: Op o4eU)G orqe UN ‘onbHeUUO}L| US
RIO Op SOUT ITTY
MOweyAZ : Fd SNOILWNYOANI BTNmovenaz : rd
Tg
0) fod -omeped #9 = 9
vtew wo wf
(eav] +4
Cawpertisev
#(y)anopuojozq-sanoozed 30p
anepuoyord ae smnoszed F
"[ECea92 ‘Ctas33 ea] 7] ev
Partoxg
“LE 1 ‘eT Tpmed ] : 9181121 2ed ogquaseides e198 ajjnaj e
“[ | prow np sttz set snou ] ‘pnan }
suaurgig z ep @9s0dulos 2}5I| aun asin uo ‘2uye-u auque Un soqueseided sno
Saj0-U Salqdy
SNOLLVNYOSNI : TATEMatiére : INFoRMArrque Prof : ZEKRAQUI
Théorie des graphes
Introduction
introduction
+ 1783) résout le
me est trés simple
Su le Principe mais un peu plus compliqué a démonter, en voil !énonee : La vile de Konigsberg est une
Ville autour d'un flewe, elle compte quate berges et sept pont les reliant La but du jeu est de savoir
¢xiste un chemin permettant 'emprunter tous les ponts une fois et une se
lc et revenir au point de départ,
Le probléme s'appele, de fagon plus formelle, la recherche d'un cycle euléien dans un graphe, Euler a
démontré que ce probléme n'avait pas de solution,
Ac Définitions générales
Un graphe est composé de sommets et darts, Un graphe G est dfini par un couple (S, A) ot
Seestun ensemble fini éléments appelés: sommets du graphe,
+ Acstun sous ensemble de SxS, ‘Chaque élément de A est appelé aréte ou are, Liensemble A est
done composé de paires (x,y), x ety Stantappelés les exits de Tarte (ou de Tare)
Exemple :
Cr) @ Sammity
CLS bo ovis
On appellera taille du graphe, le nombre darétes dans le graphe. De méme, on appelle ordre du graphe,
Je nombre de sommets du gruphe,
Page: 1
\DRNATIOUE
3 INE Prot 4 aRKRAOUL
1s - Chemin - Circuit -
>} Sommets adjacents : deux sommets qui sont religs par mie aréle, Cest dire que on peut passer
de Tun A Cautre directement sans passer pur d'autres sommets.
Hed
est d dito une suite de sommet relids par des artes. Lat
> Chane : une suite de sommets adjacent
amier sommet de la chaine
Tongucur de la chaine est le nombre dlarétes visitées pour passer du pre
au dernier.
Bil 3c Spor bey
s tous différents.
> Chaine simple :
mie chane composée le sommet
A, 6 0S
> Cyele : une chaine fermée. II est dit élémentaire si Ia cba
(uormis le sommet de départ et darrivé)
Aau3seba®
quelle tous les sommets d
sur laquelle il est basé est simple
nt une
Ju graphe y appara
> Chaine hamiltonienne : chaine da
seule fois,
SBA bby Redo
y apparaissent une seule foi
es arrdtes du graphe
aine dans Inquelle tous |
> Chaine culerienne
Na nt exist po
B- Représentation d’un graphe par matrice
in graphe de taille n par matrice
s représentent les sommets du graphe, Le coefficient M(i, §) qui est le
ta colonne j, peut prendre une des deux valeurs : soit 1, soit
La représentation d’
ordre n, Les lignes et les colonn
coefficient a l'intersection de la ligne i et de
0: Elle vaut 1 si l'arréte (i,j) existe, Elle vaut alors 0 sinon.
Exempl
7 > : a4} o o Ao
G) Co) tin qaphe St Fepraerle” pon are
madi, ogealpee +
Page :2eidre + INFORMATIQUE Prof + ZeKRAOUT
Un geaphe orienté est un graphe dont les ardtes sont orientées, Cela signifie que les extrémités d'une
aréte ont un sens bien précis, On appellera alors l'ardte un are. Les extrémités de V'are sont alors appelés
cextrémité initiale et extrémit§ finale, Un are (x, y) sem done 'are pour lequel x est lextrémité initiate et y
Vextrémité finale,
Conerdiement, cela signifie qu'un graphe orienté ne permet le passage d'un sommet A un autre que dans un
seul sens,
Exompli
Graphes_pondérés
On appelle un graphe pondéré, un graphe, orienté ou non, dont les arétes (ou les ares) possédent un poids.
Ceest a dire que les arétes possédent un nombre qui identifie le coft de passage d'un sommet & un autre.
Ceite pondération est utilisée par exemple dans la représentation d'un réseau routier pour indiquer le
temps ow la distance joignant deux villes,
Dans ce type de graphe, il suffit out simplement de metire dans le coefficient MG, j) la valeur de are (i,
{). En revanche, il faudra faire attention puisque fa valeur 0 peut étre utilisée pour valuer le graphe. On
utilisera alors une valeur spéciale pour indiquer quill n'y a pas de chemin, Quelque fois, il s'agit d'une
valeur négative si les valuations sont toutes positives. D'une maniére algorithmique, on pourrait utiliser Ia
valeur infinie pour définir la non-existence entre deux sommets, La valeur sera done choisie en fonction
de application,
Exemple :
QO hes Cp) eeeate et
afo 0 ro
2[az 0 0 $b
CMH) Nee ao
Page :3°
.
°
mS
°
ye
he [foe D Overtend Corssoty TaverovseaJsC avd stave) |
Kf} 039 Kop
mrey Rye
pe
avai <,
\ -
Sreeyatiere + 1FORNATTOUE
Les_graphes
2D it
; ‘ice d’adjacence M d’un graphe, et
1- Eerire Ia fonction adjacents (M, i J) qui regoit en paramétres la mari Tei sont adjacent, sinon, 7
deux sommets i et j du graphe. La fonction retourne ‘True si les sol
fonetion retourne False.
clef oatyatorde ( Medrg DE
A mExgty] ee 4 rectum Tae
. che + vetinn Fale
wéfixe
12 2- Berire Ia fonction ajout_arete (M, i, j) qui regoit en paramétres la matrice d’adjacence M dun raphe ,
7S + et deux sommets i et j du graphe. Si les sommets jel j ne sont pas adjacent, alors Ia fonction modifie la
eo: Fi matrice M de fagon a ce que les sommets j et j soient adjacents,
7 leh ohouk. oncte (A, 4,5 DF
AE MONIC} =20:
AUIj1= 4
ACSW =
3- Ecrire 1a fonction taille (M) qui regoit en paramatres In matrice d'adjacence M d'un graphe. La
fonction renvoie le nombre d’arétes dans ce graphe,
oe take (ma) +
nz lem(m)
cz 0
fr + im Grye (n) t
fpr de teyge Cot |
a mesiljjera preee ce Lol
| Valin € |
4- Le degré d’un sommet s est le nombre de sommets qui sont adjacents as.
Ecrire la fonction degre_sommet (M, s) qui regoit en parametres la matrice d’adjacence d'un graphe M,
et un sommet s du graphe. La fonction renvoie le degré de s.
eke lye - Srmemet Lmisds
nz bom (M)
An tthe, MES) beh Le) |
Sz=6 al |
Gr & dnvromge [mJ wa Vurwe Sm | MES)
% ecole 4 |
SeSer
dlion §Natiere : INFORMATIQUE Prof 1 Z5KRAQUT
5+ Le degré d'un graphe est le plus grand des degrés des sommets du graphe.
Ecrire la fonction degre_graphe (M) qui regoit en paramétres la matrice d’adjacence M d'un graphe. La
fonction renvoie le degré du graphe.
defy ears -gyeepte (MY s
Dasti
fr & dw ome | Gena) e
Ke appted [AYe- Somme (M141)
Telia max [Ys
6- Dans un graphe, une chaine est une liste de sommets du graphe tels que deux sommets consécutifs
sont adjacents.
rire la fonction chaine (L, M) qui regoit en paramétres la matrice d’adjacence M d'un graphe, et une
liste L qui contient des sommets de ce graphe. La fonction renvoie True si la liste L est une chaine dans
ce graphe, sinon, la fonction renvoie False.
dif, hain (Li A)
|e Galt
fim Trey
7+ Une chaine hamiltoni
une seule fois.
ine cst une chaine dans la quelle tous les sommets du graphe y apparaissent
Ecrire la fonction chaine_hamiltonien (M, L) qui reoit en parametres la matrice d’adjacence M d'un
graphe, et une liste L contenant une chaine dans ce graphe. La fonction renvoie True si la chaine L est
hamiltonienne, sinon, la fonction renvoie False.
Page :2