Estoy buscando un algoritmo de construcción rápido suffix-array. Estoy más interesado en la facilidad de implementación y la velocidad cruda que en la complejidad asintótica (sé que una matriz de sufijo puede construirse mediante un árbol de sufijos en el tiempo O (n), pero eso ocupa mucho espacio, aparentemente otros algoritmos tienen peor de los peores de la complejidad de la gran O, pero se ejecuta bastante rápido en la práctica). No me molestan los algoritmos que generan una matriz LCP como subproducto, ya que, de todos modos, necesito uno para mis propios fines.¿Cuál es el algoritmo de construcción de matriz de sufijo de última generación actual?
Encontré taxonomy of various suffix array construction algorithms, pero está desactualizado. He oído hablar de SA-IS, qsufsort y BPR, pero realmente no sé cómo se comparan entre sí, ni si hay algoritmos mejores. Teniendo en cuenta qué tan caliente parece ser el campo de matriz de sufijos en este momento, espero que algunos otros algoritmos hayan reemplazado a aquellos desde que se publicaron. Me parece recordar encontrar un documento que describa un algoritmo rápido llamado "división", pero no lo puedo encontrar ahora.
Entonces, ¿cuál es el estado actual de la técnica? Idealmente, me gustaría obtener una breve lista de los mejores algoritmos actuales (con enlaces, si es posible) y una descripción general rápida de sus fortalezas y debilidades relativas.
Saludos :-) Gracias por esto, es más esclarecedor. Supongo que no sabe qué es el SACA "dividido". (No puedo encontrar dónde lo vi, y las búsquedas están resultando infructuosas) – Cameron
Aha, finalmente encontré "dividir": se menciona en [este documento] (http://goanna.cs.rmit.edu.au/~ sjp/awoca2006.pdf), sección 4 como apodo para el algoritmo MSufSort – Cameron