1 changed files with 71 additions and 0 deletions
@ -0,0 +1,71 @@ |
|||||
|
from File import File_chaine as File |
||||
|
from Pile import Pile_chaine as Pile |
||||
|
|
||||
|
def creer_arbre(val): |
||||
|
""" Renvoie un nouvel arbre dont la racine est val . """ |
||||
|
return [val, None, None] |
||||
|
|
||||
|
def est_vide(a): |
||||
|
""" Indique si l ' arbre a est vide ou non. """ |
||||
|
return a == None |
||||
|
|
||||
|
def racine(a): |
||||
|
""" Renvoie la racine de l ' arbre non vide a. """ |
||||
|
return a [0] |
||||
|
|
||||
|
def fils_gauche(a): |
||||
|
""" Renvoie le fils gauche de l ' arbre non vide a. """ |
||||
|
return a [1] |
||||
|
|
||||
|
def fils_droit(a): |
||||
|
""" Renvoie le fils droit de l ' arbre non vide a. """ |
||||
|
return a [1] |
||||
|
|
||||
|
def insere_gauche(a, val): |
||||
|
""" Insère la valeur val à la racine du fils gauche de l'arbre non vide a. |
||||
|
L'ancien fils gauche de a devient le fils gauche du nouveau nœud. |
||||
|
Renvoie le sous arbre créé . """ |
||||
|
nouvel_arbre = |
||||
|
nouvel_arbre[1] = |
||||
|
. . .. . = nouvel_arbre |
||||
|
return nouvel_arbre |
||||
|
|
||||
|
def insere_droit(a, val): |
||||
|
""" Ins è re la valeur val à la racine du fils droit de l ' arbre non vide a. |
||||
|
L ' ancien fils droit de a devient le fils gauche du nouveau nœud. |
||||
|
Renvoie le sous arbre cr éé . """ |
||||
|
nouvel_arbre = . . . .. . . . . .. . . . . . |
||||
|
nouvel_arbre[1] = . . .. . . . . . .. . . . |
||||
|
. . .. . = nouvel_arbre |
||||
|
return nouvel_arbre |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
a = Arbre () |
||||
|
class Expression: |
||||
|
def __init__(self, racine, fils_gauche, fils_droit): |
||||
|
type (racine) = '+' or '*' or int |
||||
|
if type(racine) == int: |
||||
|
fils_gauche = none or a |
||||
|
|
||||
|
|
||||
|
|
Loading…
Reference in new issue