Escolar Documentos
Profissional Documentos
Cultura Documentos
class No_da_Arvore(object):
def __init__(self, val):
self.val = val
self.esquerda = None
self.direita = None
self.altura = 1
class Arvore_AVL(object):
def insert(self, raiz, key):
if not raiz:
return No_da_Arvore(key)
elif key < raiz.val:
raiz.esquerda = self.insert(raiz.esquerda, key)
else:
raiz.direita = self.insert(raiz.direita, key)
raiz.altura = 1 + max(self.get_altura(raiz.esquerda),
self.get_altura(raiz.direita))
balancear = self.getbalancear(raiz)
return raiz
y.esquerda = z
z.direita = T2
z.altura = 1 + max(self.get_altura(z.esquerda),
self.get_altura(z.direita))
y.altura = 1 + max(self.get_altura(y.esquerda),
self.get_altura(y.direita))
return y
y.direita = z
z.esquerda = T3
z.altura = 1 + max(self.get_altura(z.esquerda),
self.get_altura(z.direita))
y.altura = 1 + max(self.get_altura(y.esquerda),
self.get_altura(y.direita))
return y
return raiz.altura
Arvore_principal = Arvore_AVL()
raiz = None
print("Árvore balancearada:")
Arvore_principal.preOrder(raiz)
print()