class noh: def __init__(self, dado): self.dado = dado self.esq = None self.dir = None self.altura = 0 def altura(y): if y == None: return -1 return y.altura def rotacionaDireita(y): nova_raiz = y.esq y.esq = nova_raiz.dir nova_raiz.dir = y y.altura = max(altura(y.esq), altura(y.dir)) + 1 nova_raiz.altura = max(altura(nova_raiz.esq), altura(nova_raiz.dir)) + 1 return nova_raiz def imprimir(arvore): if arvore == None: return print("(", end='') imprimir(arvore.esq) print(", ", str(arvore.dado), ", ", end='') imprimir(arvore.dir) print(")", end='') return arvore = noh(50) arvore.esq = noh(47) arvore.esq.esq = noh(45) imprimir(arvore) print() arvore = rotacionaDireita(arvore) imprimir(arvore) print()