Vantagens do BST sobre a tabela de hash
A tabela de hash suporta as seguintes operações em tempo Θ (1).
1) Pesquisar
2) Inserir
3) Excluir
A complexidade de tempo das operações acima em uma árvore de busca binária de auto-equilíbrio (BST) (como Red-Black Tree , AVL Tree , Splay Tree , etc) é O (Logn).
Portanto, o Hash Table parece superar o BST em todas as operações comuns. Quando devemos preferir BST em vez de tabelas de hash, quais são as vantagens. A seguir estão alguns pontos importantes em favor dos BSTs.
- Podemos obter todas as chaves em ordem apenas fazendo Inorder Traversal do BST. Esta não é uma operação natural em tabelas de hash e requer esforços extras.
- Fazer estatísticas de pedidos , encontrar os elementos mais baixos e maiores mais próximos , fazer consultas de intervalo são fáceis de fazer com BSTs. Assim como a classificação, essas operações não são uma operação natural com tabelas de hash.
- Os BSTs são fáceis de implementar em comparação com o hashing, podemos implementar facilmente nosso próprio BST personalizado. Para implementar o Hashing, geralmente contamos com bibliotecas fornecidas por linguagens de programação.
- Com os BSTs de auto-balanceamento, todas as operações têm a garantia de funcionar no tempo O (Logn). Mas com o Hashing, Θ (1) é o tempo médio e algumas operações específicas podem ser caras, especialmente quando ocorre o redimensionamento da tabela.
Este artigo é uma contribuição de Himanshu Gupta . Escreva comentários se encontrar algo incorreto ou se quiser compartilhar mais informações sobre o tópico discutido acima
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva