Vous êtes sur la page 1sur 2

Arbres Binaires Exemples+ Algorithmes

November 2, 2023

[4]: #Exemple:
a=5
b=3.1
c=4.8
A=['/
,→',['+',[a,[],[]],[b,[],[]]],['+',['*',[c,[],[]],['+',[a,[],[]],[b,[],[]]]],['*',[a,[],[]],[b,

1 Parcours en profondeur
1.1 Parcours en profondeur préfixé:

[21]: def PP_prefixe1(A,f):


if A!=[]:
f(A[0])
PP_prefixe(A[1],f)
PP_prefixe(A[2],f)
def determ(x):
if x in {'/','*','+','-'}:
print(1)
else:
print(2)
def PP_prefixe(A):
if A!=[]:
print(A[0],end=" ")
PP_prefixe(A[1])
PP_prefixe(A[2])

PP_prefixe(A)

/ + 5 3.1 + * 4.8 + 5 3.1 * 5 3.1

1.2 Parcours en profondeur infixé:


[22]: def PP_infixe(A):
if A!=[]:

PP_infixe(A[1])

1
print(A[0],end=" ")
PP_infixe(A[2])

PP_infixe(A)

5 + 3.1 / 4.8 * 5 + 3.1 + 5 * 3.1

1.3 Parcours en profondeur infixé:

[23]: def PP_Suffixe(A):


if A!=[]:
PP_Suffixe(A[1])
PP_Suffixe(A[2])
print(A[0],end=' ')

PP_Suffixe(A)

5 3.1 + 4.8 5 3.1 + * 5 3.1 * + /

2 Parcours en Largeur

[19]: def Parcours_Largeur(A):


fifo=[A]
while fifo:
A_c=fifo.pop(0)
sommet=A_c[0]
AG=A_c[1]
AD=A_c[2]
print(sommet,end=' ')
if AG:
fifo.append(AG)
if AD:
fifo.append(AD)

Parcours_Largeur(A)

/ + + 5 3.1 * * 4.8 + 5 3.1 5 3.1

Vous aimerez peut-être aussi