Solo quiero saber, cuando un arbol de sufijo es superior a un arreglo de sufijo mejorado.Arreglos de sufijos vs Arboles de sufijo
Después de leer Replacing suffix trees with enhanced suffix arrays ya no veo una razón para usar árboles de sufijo. Algunos métodos pueden complicarse, pero puede hacer todo con una matriz de sufijos, lo que puede hacer con un árbol de sufijos y necesita la misma complejidad de tiempo pero menos memoria.
A survey incluso mostró, que los arreglos de sufijo son más rápidos, porque son más amigables con la caché, y no producen tanta falta de memoria caché, luego árboles de sufijos (para que la memoria caché pueda predecir el uso de la matriz mucho mejor, luego en el recursivo estructura de árbol).
Entonces, ¿alguien sabe una razón para elegir un árbol de sufijos sobre una matriz de sufijos?
edición Ok, si usted sabe más dime, hasta ahora su:
- Suffixarrays no permitimos la construcción en línea
- Algunos de coincidencia de patrones algoritmos de correr más rápido en Suffixtrees
- (añadido) debido a la construcción en línea, puede guardarlo en hd a y agrandar un sufijo original existente. Si usa un SSD, también debe ser silencioso.
¿Implementación más simple? –
Solo una suposición, pero los Suffix Trees podrían ser más pequeños en términos de memoria en la implementación real. – Justin
@Justin: No, de hecho, las matrices de sufijo mejoradas consumen menos memoria, que es lo que el papel vinculado es todo acerca de –