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
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
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
|
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
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.
ResponderExcluirEla 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.
ExcluirQual seria o melhor uso das árvores binarias de busca? e o que a torna tão importante na programação.
ResponderExcluirO 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