# ######################################################################### # # Implémentation d'un arbre binaire en Programmation Orientée Objet (POO) # # Programme arbre_poo Version 2 # # ######################################################################### # # =============================================== # Classe Arbre : class Arbre: def __init__(self, val): self.valeur = val self.gauche = None self.droit = None def ajout_gauche(self, val): self.gauche = Arbre(val) def ajout_droit(self, val): self.droit = Arbre(val) # =============================================== # Fonctions externes à la classe Arbre : def taille(arbre): if arbre is None: return 0 else: return 1 + taille(arbre.gauche) + taille(arbre.droit) def vide(arbre): return arbre is None def gauche(arbre): return arbre.gauche def droit(arbre): return arbre.droit def hauteur(arbre): if vide(arbre): return 0 else: return 1 + max(hauteur(gauche(arbre)), hauteur(droit(arbre)))