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

Fatos de plantas e animais para lembrar para o exame de biologia AP - dummies

Fatos de plantas e animais para lembrar para o exame de biologia AP - dummies

A seguinte lista contém algumas das informações mais desafiadoras sobre plantas e animais que você pode encontrar no exame de biologia AP. Estude esta lista, desde que você precise - se você se lembrar dessa informação durante o teste, você fará tudo bem. As plantas vasculares têm raízes, rebentos e caules, cada um dos quais ...

Física Tópicos para estudar para o teste Miller Analogies (MAT) - dummies

Física Tópicos para estudar para o teste Miller Analogies (MAT) - dummies

Massa , velocidade, aceleração - sim, é hora de rever toda a física que você aprendeu no ensino médio e se preparar para o MAT (Miller Analogies Test). Para o MAT, familiarizar-se com a física não implica aprender equações complicadas. Você só precisa se lembrar de alguns termos de física e aprender sobre alguns físicos famosos. Essas listas ajudam ...

Médico Assistente de Exame para Dummies Cheat Sheet - dummies

Médico Assistente de Exame para Dummies Cheat Sheet - dummies

Quando você está se preparando para tomar a PANCE ou PANRE , você pode sentir que precisa conhecer uma quantidade infinita de informações. Como você vai se lembrar de todos os detalhes de tantas doenças e condições? Aqui, você pode revisar alguns mnemônicos úteis que não só ajudarão seu recall como você se prepara para o seu ...

Escolha dos editores

Como criar uma ordem de compra no QuickBooks 2010 - dummies

Como criar uma ordem de compra no QuickBooks 2010 - dummies

Você pode usar o QuickBooks para criar uma compra Ordem para o seu negócio. Uma ordem de compra informa um fornecedor que deseja comprar algum item. Na verdade, um pedido de compra é um contrato para compra.

Como personalizar os formulários de verificação no QuickBooks 2011 - dummies

Como personalizar os formulários de verificação no QuickBooks 2011 - dummies

Antes de escrever suas verificações no QuickBooks, você pode decida que deseja personalizá-los um pouco. Você pode querer que seus cheques reflitam a aparência do seu negócio. Por exemplo, o QuickBooks oferece a oportunidade de alterar as fontes em seus cheques. Se você clicar na aba Fontes na caixa de diálogo Verificar impressão ...

Como personalizar os formulários on-line do QuickBooks para lidar com os subtotais - manequins

Como personalizar os formulários on-line do QuickBooks para lidar com os subtotais - manequins

Se precisar subtotar informações sobre o seu formulários de vendas, configure formulários de vendas no QuickBooks Online para que você possa incluir subtotais neles. Você pode subtotar linhas em uma fatura, uma estimativa ou um recibo de venda. Primeiro, ative o recurso; Para este exemplo, ative o recurso para o formulário de fatura. Siga ...

Escolha dos editores

Como converter imagens em modo escala de cinza em Photoshop Elements 11 - dummies

Como converter imagens em modo escala de cinza em Photoshop Elements 11 - dummies

Imagens em escala de cinza têm preto e pixels brancos e qualquer um dos 256 níveis de cinza. Ao converter uma imagem RGB em escala de cinza no Photoshop Elements 11, você pode fazer com que pareça uma foto em preto e branco. Evite converter em escala de cinza escolhendo Image → Mode → Grayscale. Quando os elementos executam essa conversão, ele remove toda a cor dos pixels, ...

Como converter imagens em modo escala de cinza em Photoshop Elements 9 - dummies

Como converter imagens em modo escala de cinza em Photoshop Elements 9 - dummies

Em Photoshop Elements, você pode converter uma imagem RGB em escala de cinza, fazendo com que pareça uma foto em preto e branco. As imagens de tons de cinza têm pixels em preto e branco e qualquer um dos 256 níveis de cinza. No entanto, você não precisa desistir de seus dados de cores. Como alternativa ao uso do comando de menu para converter imagens para ...

Como corrigir imagens com curvas de cores - dummies

Como corrigir imagens com curvas de cores - dummies

Photoshop Elements 10 emprestou um recurso muito usado do Photoshop chamado Curves. No entanto, adicionou a palavra Cor e tirou parte de sua sofisticação. No entanto, o ajuste Color Curves tenta melhorar o alcance tonal em imagens a cores fazendo ajustes em destaques, sombras e tons médios em cada canal de cores. Tente usar este comando em ...