Diccionario aplicación (Equilibrio de búsqueda binaria árbol vs tabla hash)

votos
1

¿En qué circunstancias sería mejor implementar un ADT Diccionario usando un árbol binario de búsqueda equilibrado en lugar de una tabla hash?

Mi hipótesis es que siempre es mejor utilizar un árbol binario de búsqueda debido a su orden natural.

Pero es cierto que el tiempo de búsqueda de la tabla hash puede ser tan bueno como O (1), frente a O (log n) para el árbol binario.

así que no estoy seguro de lo que serían las circumtaces.

Publicado el 15/04/2011 a las 02:13
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
0

Su pregunta ya contiene la respuesta:

Si usted no requiere ningún orden intrínseco a continuación, utilizar una tabla hash para un mejor rendimiento. Si sus requisitos exigen algún tipo de pedido y luego considerar el uso de un árbol.

Respondida el 15/04/2011 a las 02:16
fuente por usuario

votos
1

Las tablas hash podrían tener un problema de rendimiento cuando se llenan y la necesidad de reasignar la memoria (en el contexto de un sistema de tiempo real) .binary árboles no tienen este problema. Las tablas hash necesitan más memoria de la que realmente utilizan, en tanto que los árboles binarios utilizan más memoria que necesitan.

Respondida el 15/04/2011 a las 02:19
fuente por usuario

votos
0

La complejidad del tiempo para el diccionario es:

-----------------------------------------
| Operation   |  Dictionary |    BST    | 
-----------------------------------------
| Insert      |  O(1)       | O(log(n)) |
-----------------------------------------
| Delete      |  O(1)       | O(log(n)) |
-----------------------------------------
| Search      |  O(1)       | O(log(n)) |
-----------------------------------------

Entonces, ¿dónde se utiliza BST vs diccionario? Aquí están algunas de las principales ventajas de BST.

  • Con BST que siempre tenga la operación O (log (n)), pero cambiar el tamaño de una tabla hash es una operación costosa
  • Si usted necesita para obtener las llaves en un orden de clasificación se puede conseguir que atraviesa finde árbol. Clasificación no es natural para un diccionario
  • Haciendo estadísticas, como encontrar el elemento más cercano menor y mayor, o consulta de gama.
Respondida el 29/01/2019 a las 21:47
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more