BST es búsqueda binaria árbol. Se utiliza un diccionario. BST no tiene limitaciones sobre la estructura, y por lo tanto una búsqueda / inserción / deleción es O (n) peor de los casos.
Mapa [en STL] es también un diccionario, y es en realidad un árbol rojo-negro [en STL]. es un tipo especial de BST, que tiene limitaciones en las estructuras, a causa de ella, peor caso de búsqueda / insertar / borrar es O (log n).
hashing tabla hash es un tipo diferente de diccionario, la ventaja de una tabla hash [con buenas funciones hash] es O (1) tiempo medio de búsqueda / eliminar / insertar. sin embargo, el peor caso es O (n), que sucede si demasiado elementos chocan y / o cuando se necesita una repetición [cuando Load Balance es demasiado alta, se asignan una matriz más grande, y refrito todos los elementos para IS].
Tries son especiales para las cadenas. todas las operaciones son O (S) donde S es la longitud de la cadena. es ventaja sobre los demás [cuando se trata de cadenas] es que necesita para leer la cadena de todos modos, por lo que la complejidad si un Mappor ejemplo, cuando se trata de cadenas, en realidad es O (S * n * log n).
¿cuándo usar?
una Map[o cualquier otro árbol equilibrado] debe ser casi siempre una mejor opción entonces un habitual BST.
hash tablees una buena opción cuando se quiere poco tiempo promedio, pero no les importa que algunas veces usted tiene pérdida de rendimiento debido a la refundición, y en algunos casos pueden producirse colisiones.
Triees por lo general un buen diccionario para las cadenas.