Calcular altura arvore binária

Python

01/10/2021

Tenho uma classe ArvoreBinaria que tem como atributos um dado e as subárvores esq e dir. Tenho que calcular a altura dela através de uma fnução que recebe o nó da raiz como parametro retornar sua altura.Então, eu to com dúvida na lógica, alguém poderia dar uma luz, eu cheguei até aqui:
class ArvoreBinaria():
def __init__(self, dado, esq = None, dir=None):
self.dado = dado
self.esquerda = esq
self.direita = dir

def altura(self):
raiz = self.dado
if raiz == None or raiz.esq == None and raiz.dir == None:
return 0
else:
if self.altura(raiz.esq) > self.altura(raiz.dir):
return 1 + self.altura(raiz.esq)
else:
return 1 + self.altura(raiz.dir)
Joao

Joao

Curtidas 0
POSTAR