AnswerBun.com

Quais são as diferenças entre implementação de mapas por hashes ou árvores?

Stack Overflow em Português Asked by Felipe Machado on January 2, 2022

Qual a vantagem da implementação de mapas por tabela hash ao invés da árvore binaria?

One Answer

A dúvida deveria ser mais ao contrário.

Se você precisa que os dados sejam classificados você precisa da árvore binária. Se precisa de ordem, precisa de um array, ou algum truque com a árvore binária (ou não). Se pode desprezar ordem ou classificação então a tabela de espalhamento pode ser útil.

A tabela de espalhamento possui complexidade O(1), ou seja, é constante não importa o volume de dados. É como se fosse o tempo de acesso de um arrya pelo seu índice. Não o mesmo tempo porque o hash precisa calcular o bucket onde o dado está antes de acessar.

A árvore binária tem complexidade O(log n) que em muitos casos é próximo de constante. De fato por não ter que calcular com baixo volume de dados é possível que ele seja mais rápido que hash, mesmo que log n dê algo maior que 1. Em grandes volumes será mais lento, mas não é uma diferença tão grande assim. Para ter uma ideia 1 bilhão de elementos pode ser acessado em apenas 30 passos. Apesar do volume influenciar o tempo de acesso, é irrisório, e em alguns casos não faz diferença.

Answered by Maniero on January 2, 2022

Add your own answers!

Related Questions

Salvar um array vindo do formulario no banco de dados

1  Asked on December 8, 2020 by pablo-pereira

   

Mudar cor e estilo da fonte do Listview nao funciona

1  Asked on December 8, 2020 by wilfer

 

Devo alocar o membro da estrutura data também?

3  Asked on December 8, 2020 by jaime38130

     

Programa não compila com erros diversos

1  Asked on December 8, 2020 by drd0spy

   

FullPage.js + class=”section”

1  Asked on December 8, 2020 by fabio-souza

       

Erro na compilação: expected ‘;’ before ‘case’

1  Asked on December 3, 2020 by entayrer_programer

   

Menu no módulo Tkinter Python

1  Asked on December 2, 2020 by antnio-gally

       

Deixar o vídeo ocupando 100% da tela com altura fixa

1  Asked on December 2, 2020 by felipe-henrique

   

Calculadora com inputs usando DOM

1  Asked on December 2, 2020 by ash

 

Como retirar caractere especial da classe obtida de um texto?

1  Asked on December 1, 2020 by kim-hanneman

   

Delphi – Recuperar código no DBGrid apos cadastro

0  Asked on November 30, 2020 by ederson-silva

   

Subtrair extrair meses entre duas datas em javascript

1  Asked on November 30, 2020 by evandro-csar

     

Tamanho de um ArrayList

1  Asked on November 30, 2020 by jbarbosa

   

C# Criptografia de senhas

0  Asked on November 30, 2020 by eric-jhon

     

Consegui pesquisar mais 1 query no banco de dados com PHP

1  Asked on November 28, 2020 by roberto-pereira

       

variável do Javascript no template do Django

1  Asked on November 28, 2020 by raphael-melo-de-lima

         

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP