mirror of
https://github.com/Fare-spec/cours.git
synced 2025-12-07 10:50:36 +00:00
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
class Arbre_Binaire(object):
|
|
def __init__(self,racine = None, sag = None,sad = None) -> None:
|
|
self.racine = racine
|
|
self.ss_arbre_gauche = sag
|
|
self.ss_arbre_droit = sad
|
|
return None
|
|
def est_vide(self):
|
|
return self.racine is None
|
|
|
|
def taille(self):
|
|
if self.est_vide():
|
|
return 1
|
|
else:
|
|
taille_gauche = self.ss_arbre_gauche.taille() if self.ss_arbre_gauche else 0
|
|
taille_droite = self.ss_arbre_droit.taille() if self.ss_arbre_droit else 0
|
|
|
|
return 1+taille_gauche+taille_droite
|
|
|
|
def hauteur(self):
|
|
if self.est_vide():
|
|
return 0
|
|
else:
|
|
profondeur_gauche = self.ss_arbre_gauche.hauteur() if self.ss_arbre_gauche else 0
|
|
profondeur_droite = self.ss_arbre_droit.hauteur() if self.ss_arbre_droit else 0
|
|
return 1+max(profondeur_droite,profondeur_gauche)
|
|
def affichage(arbre):
|
|
pass
|
|
if arbre.est_vide():
|
|
return ([])
|
|
else:
|
|
racine = arbre.racine
|
|
prefixe = arbre.ss_arbre_gauche
|
|
suffixe = arbre.ss_arbre_droit
|
|
#todo
|
|
|
|
|
|
if __name__ == "__main__":
|
|
arbre = Arbre_Binaire(1, Arbre_Binaire(2), Arbre_Binaire(3))
|
|
print("taille arbre :", arbre.taille())
|
|
print("hauteur arbre :", arbre.hauteur())
|