class BinTree: def __init__(self, val): self.val=val self.sx=None self.dx=None def __repr__(self, livello=0): return self.__str__(livello) def __str__(self, livello=0): ris = '' if self.dx: ris += self.dx.__str__(livello+1) else: ris += '\n' ris += " "*livello + str(self.val) if self.sx: ris += self.sx.__str__(livello+1) else: ris += '\n' return ris def inserisci(self, x): if x <= self.val: if self.sx: self.sx.inserisci(x) else: self.sx=BinTree(x) else: if self.dx: self.dx.inserisci(x) else: self.dx=BinTree(x) def cerca(self, x): '''if x == self.val: return True elif x < self.val and self.sx: return self.sx.cerca(x) elif x > self.val and self.dx: return self.dx.cerca(x) else: return False''' t = self while t: if t.val == x: return True elif t.val < x: t = t.dx else: t = t.sx return False def min(self): t = self while t.sx: t= t.sx return t def max(self): t = self while t.dx: t= t.dx return t def elimina(self, x): ''' SCRIVERE QUI IL CODICE''' pass def gen_bintree(l): root = BinTree(l[0]) for i in l[1:]: root.inserisci(i) return root