- This topic has 1 reply, 2 voices, and was last updated 5 years, 8 months ago by .
Viewing 2 posts - 1 through 2 (of 2 total)
Viewing 2 posts - 1 through 2 (of 2 total)
- You must be logged in to reply to this topic.
Home › Forums › Fórum Estrutura de Dados e Algoritmos em Python: O Guia Completo › Árvore Binária de Busca
Tagged: Árvores
Boa noite Prof Jones.
Sobre a implementação da árvore binária de busca tenho uma sugestão para não se utilizar a lista “ligacoes” (lista usada para visualizar a árvore no webgraphviz).
Podemos suprimir a variável “ligacoes” e, para gerar os códigos para o webgraphviz. podemos percorrer a árvore e ir gerando as strings.
Abaixo uma sugestão de código:
# Gera webgraphviz percorrendo a arvore pre ordem
def gera_graphviz_pre_ordem(self, no):
if no != None:
if no.esquerda:
print(no.valor,"->",no.esquerda.valor)
if no.direita:
print(no.valor,"->",no.direita.valor)
self.gera_graphviz_pre_ordem(no.esquerda)
self.gera_graphviz_pre_ordem(no.direita)
def gera_graphviz(self):
if self.raiz == None:
print('\nArvore Vazia')
else:
print('\nCopiar para http://www.webgraphviz.com/\ndigraph G {')
self.gera_graphviz_pre_ordem(self.raiz)
print("}")
Valeu pela contribuição Fabio, ficou bem mais limpo e mais fácil do que aquela quantidade gigante de código hehe