Necesito saber si un ternary tree es mejor que un hash table.Ternary Tree Vs Hash Tabla
Me encontré con esta pregunta en una respuesta a another question I had donde alguien dijo que los árboles ternarios a menudo son más rápidos que las tablas hash. Me resulta difícil de creer, así que decidí investigar un poco sobre eso.
This one website from Princeton parece ser la fuente de la creencia. Eché un vistazo al algoritmo que se describe como O (log n + k) donde n es el número de palabras almacenadas, yk es la longitud de la clave.
Me parece que la única forma en que esto podría ser más rápido es si a menudo busca elementos que aún no están almacenados. Otra cosa que me molesta es que el rastreo no continuo de un trie tiende a provocar que accedas a las páginas que se han intercambiado, pero si este es un efecto importante solo se puede ver a través de los puntos de referencia.
Ahora sé que probablemente haya ventajas y desventajas para ambos, y si es así, quiero saber cuáles son. Los puntos de referencia también son útiles.
Dado el contexto, es casi seguro que desee comparar tablas hash con árboles * puramente funcionales *. Los árboles equilibrados imperativos se pueden expresar en términos de matrices, por lo que son mucho más eficientes que sus contrapartes puramente funcionales (que es todo lo que está disponible en Haskell). –