Estrutura de dados:ÁRVORE BINÁRIA

Conteúdo postado por: André Lucas Ávila Lima

  Continuando as postagens sobre estrutura de dados...Falarei agora sobre as não lineares, no caso as arvores.
  Esta no meio da programação é uma das mais importantes, pois existem inúmeros problemas que podem ser resolvidos através delas, tais como sistema de matricula de colégio, bancos de dados, estruturas de pastas de um sistema operacional, entre outros...
  Sua estrutura de da forma hierárquica, sendo composta por um elemento principal chamado de raiz, que faz ligação com outros elementos chamados de nos, sendo que cada um desses possuem no máximo dois filhos: um do lado esquerdo e um direito.
   Seus elementos são :
>>Nós: São os itens guardados de uma árvore.
>>Raiz: Representa o topo de uma árvore.
>>Filhos: São os nós que vem depois dos outros nós.
>>Pais: São os nós que vem antes dos outros nós


Representação de uma árvore

  No campo da programação, sua representação é geralmente vinculada com recursividade, como mostrado no exemplo a seguir:

  PercursoPreordem(nó):
  Processa nó
  Para cada filho de nó (se houver)
     Executa recursivamente PercursoPreordem(filho)

As árvores podem ser subdividida em: Árvore Binaria de Busca.
>>Na prática, os nos da sub-árvore da esquerda possuem um valor menor do que a raiz e todos os nos da sub-árvore da direita possuem um valor superior ao no da raiz, permitindo assim uma melhor busca.


Fontes:https://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_Dados/Árvore
            https://www.ime.usp.br/~pf/estruturas-de-dados/aulas/st-bst.html
            https://www.ime.usp.br/~pf/algoritmos/aulas/bint.html
            https://pt.wikipedia.org/wiki/Árvore_(estrutura_de_dados)
            https://pt.wikipedia.org/wiki/Árvore_binária_de_busca



Comentários

  1. Qual o principal fator decisivo que torna a árvore um tipo recursivo tão útil ? o que faz dela ser mais "eficiente" que o tipo List no caso.

    ResponderExcluir
    Respostas
    1. Ela se torna mais eficiente principalmente quando estamos levando em consideração um problema extenso, como por exemplo: acessar um determinado número de matricula, sendo que existem alunos matriculados desde 1999 ate 2019, fazendo com que seja criado um espécie de filtro, uma vez que não precisaria passar por todas as matriculas até chagar na que você deseje.

      Excluir
  2. Qual seria o melhor uso das árvores binarias de busca? e o que a torna tão importante na programação.

    ResponderExcluir
    Respostas
    1. O melhor uso seria no caso de você não precisar seguir um padrão linear, podendo assim resolver um problema de maneira mais eficiente.

      Excluir

Postar um comentário

Postagens mais visitadas