. Login Cadastro

Comunidade para programadores


Você não está conectado. Conecte-se ou registre-se

Implementação de uma Árvore Binaria

Ver o tópico anterior Ver o tópico seguinte Ir para baixo Mensagem [Página 1 de 1]

Post: #14/9/2020, 10:53

Morzan

Morzan

Administrador
Segue a estrutura dos nós:
Código:
no = {
    'value': None,
    'left': None,
    'right': None
}

Segue entao a implementação da arvore:

Código:

def build_binary_tree(points=[]):
    def insert(point, tree={}):
        value = tree['value']
        if value:
            if point < value:
                if tree['left'] is None:
                    tree['left'] = {
                        'value': point,
                        'left': None,
                        'right': None,
                    }
                    return tree
                else:
                    tree['left'] = insert(point, tree['left'])
                    return tree
            else:
                if tree['right'] is None:
                    tree['right'] = {
                        'value': point,
                        'left': None,
                        'right': None,
                    }
                    return tree
                else:
                    tree['right'] = insert(point, tree['right'])
                    return tree
        else:
            tree['value'] = point
            return tree
    
    tree = {
        'value': None,
        'left': None,
        'right': None,
    }
    
    for point in points:
        tree = insert(point, tree)

    return tree


Exemplo de uso:
Código:
arvore  = build_binary_tree([20,10,1,22,9,11,30, 21])

Construindo a seguinte arvore:
Implementação de uma Árvore Binaria Arvore

https://doublefree.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Ir para o topo Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos