Saltar al contenido

Ventajas de los árboles de búsqueda binarios sobre las tablas hash

Siéntete libre de compartir nuestra web y códigos en tus redes, apóyanos para aumentar nuestra comunidad.

Solución:

Una ventaja que nadie más ha señalado es que el árbol de búsqueda binaria le permite realizar búsquedas de rango de manera eficiente.

Para ilustrar mi idea, quiero hacer un caso extremo. Digamos que quiere obtener todos los elementos cuyos keys están entre 0 y 5000. Y en realidad solo hay uno de esos elementos y otros 10000 elementos cuyos keys no están en el rango. BST puede realizar búsquedas de rango de manera bastante eficiente, ya que no busca un subárbol en el que es imposible tener la respuesta.

Mientras, ¿cómo puedes hacer búsquedas de rango en una tabla hash? Debe iterar cada espacio de depósito, que es O (n), o debe buscar si cada uno de 1,2,3,4… hasta 5000 existe. (Qué pasa con la keys entre 0 y 5000 son un conjunto infinito? por ejemplo keys pueden ser decimales)

Recuerde que los árboles de búsqueda binarios (basados ​​en referencias) son eficientes en memoria. No reservan más memoria de la que necesitan.

Por ejemplo, si una función hash tiene un rango R(h) = 0...100entonces necesita asignar un array de 100 (punteros a) elementos, incluso si solo está codificando 20 elementos. Si tuviera que usar un árbol de búsqueda binario para almacenar la misma información, solo asignaría tanto espacio como necesitara, así como algunos metadatos sobre los enlaces.

Una “ventaja” de un árbol binario es que se puede recorrer para listar todos los elementos en orden. Esto no es imposible con una tabla hash, pero no es una operación normal de un diseño en una estructura hash.

Te mostramos reseñas y calificaciones

Eres capaz de añadir valor a nuestro contenido añadiendo tu veteranía en las ilustraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *