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?
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
1 Asked on December 8, 2020 by pablo-pereira
3 Asked on December 8, 2020 by jaime38130
1 Asked on December 8, 2020 by fabio-souza
1 Asked on December 6, 2020 by raphael
1 Asked on December 4, 2020 by mttheus-spoo
1 Asked on December 3, 2020 by entayrer_programer
1 Asked on December 2, 2020 by antnio-gally
1 Asked on December 2, 2020 by felipe-henrique
1 Asked on December 1, 2020 by kim-hanneman
1 Asked on December 1, 2020 by dr-g
0 Asked on November 30, 2020 by ederson-silva
1 Asked on November 30, 2020 by evandro-csar
1 Asked on November 29, 2020 by user41814
1 Asked on November 28, 2020 by roberto-pereira
1 Asked on November 28, 2020 by raphael-melo-de-lima
Get help from others!
Recent Answers
Recent Questions
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP