Lar Finanças Pessoais Heaps binários e Árvores de Pesquisa Binária Usadas em Algoritmos - dummies

Heaps binários e Árvores de Pesquisa Binária Usadas em Algoritmos - dummies

Vídeo: Estrutura de Dados - Aula 16 - Árvores binárias de pesquisa - Parte 1 2025

Vídeo: Estrutura de Dados - Aula 16 - Árvores binárias de pesquisa - Parte 1 2025
Anonim

Um tipo especial de estrutura de árvore é o binário, que coloca cada um dos elementos do nó em uma ordem especial. As árvores de pesquisa permitem que você procure dados rapidamente. Obtendo itens de dados, colocando-os em ordem ordenada em uma árvore, e depois pesquisando essa árvore é uma das maneiras mais rápidas de encontrar informações.

Em uma pilha binária, o nó da raiz sempre contém o menor valor. Ao visualizar os ramos, você vê que os ramos do nível superior são sempre um valor menor que os ramos e as folhas de nível inferior. O efeito é manter a árvore equilibrada e em uma ordem previsível para que a busca se torne extremamente eficiente. O custo é manter a árvore equilibrada.

De todas as tarefas que as aplicações fazem, a pesquisa é mais demorada e também a mais necessária. Mesmo que adicionar dados (e ordená-lo mais tarde) exige algum tempo, o benefício para criar e manter um conjunto de dados vem de usá-lo para executar trabalhos úteis, o que significa pesquisá-lo para informações importantes. Consequentemente, às vezes você consegue passar por uma funcionalidade CRUD menos eficiente e até mesmo uma rotina de classificação menos ótima, mas as pesquisas devem ser realizadas com a maior eficiência possível. O único problema é que nenhuma busca executa cada tarefa com eficiência absoluta, então você deve pesar suas opções com base no que você espera fazer como parte das rotinas de pesquisa.

Dois dos métodos de pesquisa mais eficientes envolvem o uso da árvore de pesquisa binária (BST) e pilha binária. Ambas as técnicas de busca dependem de uma estrutura semelhante a uma árvore para manter as chaves usadas para acessar elementos de dados. No entanto, o arranjo dos dois métodos é diferente, razão pela qual um tem vantagens sobre o outro ao executar certas tarefas. Esta figura mostra o arranjo para um BST.

O arranjo das teclas ao usar um BST.

Observe como as teclas seguem um pedido em que números menores aparecem à esquerda e os números maiores aparecem à direita. O nó raiz contém um valor que está no meio do intervalo de chaves, dando à BST uma abordagem equilibrada facilmente compreendida para armazenar as chaves. Contraste este arranjo para o monte binário mostrado aqui.

O arranjo das chaves ao usar uma pilha binária.

Cada nível contém valores que são inferiores ao nível anterior e a raiz contém o valor da chave máxima para a árvore. Além disso, neste caso particular, os valores menores aparecem à esquerda e maior à direita (embora esta ordem não seja rigorosa). A figura realmente representa um montão máximo binário. Você também pode criar um bin binário infinito em que a raiz contém o valor da chave mais baixa e cada nível cria valores maiores, com os valores mais altos que aparecem como parte das folhas.

Como observado anteriormente, o BST tem algumas vantagens sobre o heap binário quando usado para realizar uma pesquisa. A lista a seguir fornece alguns dos destaques dessas vantagens:

  • A procura de um elemento requer tempo O (log n), contrastado com o tempo O (n) para um heap binário.
  • Imprimir os elementos em ordem requer apenas o tempo O (log n), contrastado com o tempo O (n log n) para uma pilha binária.
  • Encontrar o piso e o teto requerem tempo de O (log n).
  • Localizando Kth menor / maior elemento requer tempo O (log n) quando a árvore está configurada corretamente.

Se estes tempos são importantes depende da sua aplicação. BST tende a funcionar melhor em situações em que você gasta mais tempo buscando e menos tempo construindo a árvore. Uma pilha binária tende a funcionar melhor em situações dinâmicas nas quais as chaves mudam regularmente. O hebra binário também oferece vantagens, conforme descrito na seguinte lista:

  • A criação das estruturas necessárias requer menos recursos porque os montes binários dependem de arrays, tornando-os mais amigáveis ​​para o cache.
  • Construir uma pilha binária requer tempo O (n), contrastado com BST, que requer tempo O (n log n).
  • Usar ponteiros para implementar a árvore não é necessário.
  • Baseando-se em variações de hemer binário (por exemplo, o Fibonacci Heap) oferece vantagens como aumentar e diminuir os tempos-chave do tempo de O (1).
Heaps binários e Árvores de Pesquisa Binária Usadas em Algoritmos - dummies

Escolha dos editores

Como o Colégio dos Cardeais Escolhe um Novo Papa - manequins

Como o Colégio dos Cardeais Escolhe um Novo Papa - manequins

Quando um papa morre no cargo ou renuncia , como fez o Papa Bento XVI no início de 2013, o Colégio dos Cardeais (todos os cardeais da Igreja Católica) reuniu-se para eleger um novo papa. No prazo de 15 dias e no máximo 20 dias após a morte ou renúncia do papa, todos os cardeais ...

Como o Papa João Paulo II tornou-se um filósofo-Teólogo - manequins

Como o Papa João Paulo II tornou-se um filósofo-Teólogo - manequins

Quando João Paulo II ainda era Karol Wojtyła, uma adolescente no ensino médio, ele era tão bom em falar em público que ele foi escolhido para dar o endereço de boas-vindas a um dignitário muito especial visitando a escola um dia. O Príncipe Adam Stefan Stanisław Bonfatiusz Józef Sapieha (que é um bocado), o Arcebispo de Cracóvia e um ...

Assunção de Mary no Céu - manequins

Assunção de Mary no Céu - manequins

No calendário católico, o Dia da Assunção observa o dia em que Maria morreu e subiu - corpo e alma - no paraíso. A Igreja Católica professa que quando o tempo de Maria na Terra chegou ao fim, seu corpo foi colocado em um túmulo, mas seu corpo não caiu na Terra. Em vez disso, seu filho, Jesus Cristo, assumiu o seu corpo ...

Escolha dos editores

Como excluir fotos na sua Nikon D5300 - manequins

Como excluir fotos na sua Nikon D5300 - manequins

Você tem três opções para apagar imagens de uma memória quando estiver na sua Nikon D5300. Uma nota antes de começar: nenhuma das funções Excluir apaga as imagens que você protege. Para apagar fotos protegidas, primeiro você deve remover a proteção do arquivo. Como eliminar imagens uma de cada vez Durante a reprodução da imagem, você ...

Como exibir a visualização de visualização ao vivo em uma tela HDMI - manequins

Como exibir a visualização de visualização ao vivo em uma tela HDMI - manequins

Você pode conectar seu Câmera Nikon D7100 para um dispositivo HDMI (Interface Multimídia de Alta Definição) para ver a saída Live View na tela. Esse recurso é freqüentemente usado por fotógrafos de estúdio que querem uma visão maior do assunto do que o monitor da câmera fornece. Alguns problemas surgem quando você aproveita esta opção: ...

Como ativar a rotação automática da imagem em sua Nikon D5300 - manequins

Como ativar a rotação automática da imagem em sua Nikon D5300 - manequins

Quando tirar uma foto, o seu D5300 pode gravar a orientação da imagem - seja você segurado a câmera normalmente, criando uma imagem orientada horizontalmente ou girando a câmera do lado para filmar uma foto verticalmente orientada. Durante a reprodução, a câmera pode então ler os dados de orientação e girar automaticamente a imagem para que apareça ...

Escolha dos editores

Construir confiança para vender em mídias sociais - manequins

Construir confiança para vender em mídias sociais - manequins

Se o seu objetivo online é concluir uma venda para seus amigos e fãs de redes sociais, você terá que dar a essas pessoas um olhar frio e difícil. Alguns acreditam que mais é melhor. Mas mais o que? Você precisa se concentrar em pessoas que, no final do dia, podem comprar algo de você diretamente ou ...

Criar sua própria comunidade social para comércio - manequins

Criar sua própria comunidade social para comércio - manequins

Em um site comercial bem produzido, você muitas vezes vêem um link para uma área de comunidade social, que também pode levar o site externo para sites de redes sociais. Esta área é onde as páginas de serviço ao cliente e perguntas freqüentes vivem. Você também pode encontrar uma comunidade de clientes para clientes que incentive a participação de quem visita o site comercial. Se você escolher ...