Pregunta

Me gustaría implementar una clase simple (en Java) que me permita registrar y cancelar el registro de cadenas y, en función del conjunto actual de cadenas, completar automáticamente una cadena determinada.Entonces la interfaz sería:

  • agregar vacío (cadena)
  • eliminar vacío (cadena)
  • Cadena completa (Cadena)

¿Cuál es la mejor manera de hacer esto en términos de algoritmos y estructuras de datos?

¿Fue útil?

Solución

debería considerar utilizar un ensayo PATRICIA para la estructura de datos.Busca 'patricia trie' en google y encontrarás mucha información...

Otros consejos

La estructura de datos que busca se llama árbol de búsqueda ternario.

Hay un gran ejemplo de JavaWorld en www.javaworld.com/javaworld/jw-02-2001/jw-0216-ternary.html

Tendría que ser algún tipo de Lista que pueda mantener ordenada.También tendría que escribir su propio algoritmo de búsqueda que le proporcione el índice del primer elemento de la lista que coincida con su patrón de búsqueda.Luego repita desde ese índice hasta el primer elemento que no coincida y tendrá su lista de posibles finalizaciones.

yo miraría Lista de árboles de colecciones comunes.Tiene tiempos rápidos de inserción y eliminación desde el medio de la Lista que querrás para mantener el orden.Probablemente sería bastante fácil eliminar su función de búsqueda del árbol que respalda esa lista.

Para aquellos que se topan con esta pregunta...

Acabo de publicar un implementación de autocompletar del lado del servidor en el código de Google.El proyecto incluye una biblioteca Java que se puede integrar en aplicaciones existentes y un servidor de autocompletar HTTP AJAX independiente.

Mi esperanza es que permita a las personas incorporar el autocompletado eficiente en sus aplicaciones.¡Patea los neumáticos!

He creado un complemento de JQuery llamado Autocompletar simple, que le permite agregar muchos autocompletados como desee en la misma página, agregar filtros con parámetros adicionales y ejecutar una función de devolución de llamada para traer otros parámetros, como la identificación del elemento.

Véalo en http://www.idealmind.com.br/projetos/simple-autocomplete-jquery-plugin/

Expresiones regulares.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top