TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A Arvore Binaria Balanceada

Por:   •  22/9/2022  •  Trabalho acadêmico  •  470 Palavras (2 Páginas)  •  90 Visualizações

Página 1 de 2

class NoArvoreBinaria:

      def __init__(self, data):

        self.data = data

        self.filhoEsquerda = None

        self.filhoDireita=None

     

def inserir(raiz,novoValor):

    # Se a árvore de busca binária estiver vazia, crie um novo nó e declare-o como raiz

    if raiz is None:

        raiz=NoArvoreBinaria(novoValor)

        return raiz

    # Árvore de busca binária não está vazia, então inserir na árvore

    # Se novoValor for menor que o valor dos dados na raiz, adicione-o à subárvore esquerda e continue recursivamente

    if novoValor<raiz.data:

        raiz.filhoEsquerda=inserir(raiz.filhoEsquerda,novoValor)

    else:

        #se novoValor for maior que o valor dos dados na raiz, adicione-o à subárvore direita e prossiga recursivamente

        raiz.filhoDireita=inserir(raiz.filhoDireita,novoValor)

    return raiz

 

def altura(raiz):

    # Se raiz for None retornar 0

        if raiz==None:

            return 0

        # Encontrar altura da subárvore esquerda

        alturaEsquerda=altura(raiz.filhoEsquerda)

        # Encontre a altura da subárvore direita

        alturaDireita=altura(raiz.filhoDireita)  

        # encontre max de alturaEsquerda e alturaDireita, adicione 1 a ele e retorne o valor

        if alturaEsquerda>alturaDireita:

            return alturaEsquerda+1

        else:

            return alturaDireita+1

 

def ChecarArvoreBinariaBalanceada(raiz):

    # Se a árvore estiver vazia, retorne True

    if raiz==None:

        return True

    # Checar altura da subárvore esquerda

    alturaEsquerda= altura(raiz.filhoEsquerda)

    alturaDireita = altura(raiz.filhoDireita)

...

Baixar como (para membros premium)  txt (2.4 Kb)   pdf (24.5 Kb)   docx (8.3 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com