Pergunta

Eu gostaria de implementar uma classe simples (em Java) que me permitisse registrar e cancelar o registro de strings e, com base no conjunto atual de strings, preencher automaticamente uma determinada string.Então, a interface seria:

  • void add(String)
  • remoção nula (String)
  • String completa(String)

Qual é a melhor maneira de fazer isso em termos de algoritmos e estruturas de dados?

Foi útil?

Solução

você deve considerar usar um teste PATRICIA para a estrutura de dados.Procure por 'patricia trie' no google e você encontrará muitas informações...

Outras dicas

A estrutura de dados que você procura é chamada de Árvore de Pesquisa Ternária.

Há um ótimo exemplo do JavaWorld em www.javaworld.com/javaworld/jw-02-2001/jw-0216-ternary.html

Teria que ser algum tipo de lista que você pudesse manter em ordem de classificação.Você também teria que escrever seu próprio algoritmo de pesquisa que forneceria o índice do primeiro elemento da lista que corresponde ao seu padrão de pesquisa.Em seguida, itere a partir desse índice até o primeiro elemento que não corresponde e você terá sua lista de possíveis conclusões.

eu olharia Lista de árvores de coleções comuns.Possui tempos de inserção e remoção rápidos do meio da lista que você deseja para manter a ordem de classificação.Provavelmente seria bastante fácil escrever sua função de pesquisa na árvore que sustenta essa lista.

Para quem se depara com esta questão...

Acabei de postar um implementação de preenchimento automático do lado do servidor no código do Google.O projeto inclui uma biblioteca java que pode ser integrada a aplicativos existentes e um servidor de preenchimento automático HTTP AJAX independente.

Minha esperança é que isso permita que as pessoas incorporem o preenchimento automático eficiente em seus aplicativos.Chute os pneus!

Eu criei um plugin JQuery chamado Simple AutoComplete, que permite adicionar quantos autocomplete quiser na mesma página, e adicionar filtros com parâmetros extras, e executar uma função de callback para trazer outros parâmetros, como o id do item.

Veja em http://www.idealmind.com.br/projetos/simple-autocomplete-jquery-plugin/

Expressões regulares.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top