2012-12-09 5 views
1

Je veux faire une application pour une Bible. Mais je me demande comment stocker les données pour que la recherche soit rapide. Je pense à des tableaux 2D, mais cela semble difficile et lent.Meilleure structure de données pour les chaînes

Merci.

+5

'Carte ' peut-être? – Reimeus

+3

La recherche est un problème résolu. Vous n'avez pas besoin de votre propre structure de données, sauf si vous faites quelque chose d'extraordinairement insignifiant ou si vous voulez apprendre en faisant. Si vous écrivez une application Java sérieuse, faites un lien dans Lucene ou une bibliothèque similaire. –

Répondre

2

Vous pouvez utiliser un Map<String, String> comme suggéré par Reimeus. Vous pouvez également essayer un trie. Ceci est une structure de données permettant une recherche prédictive. Autrement dit, vous tapez une partie d'un mot et il peut prédire comment vous pourriez finir le mot.

Un DAWG serait probablement une meilleure option pour quelque chose d'aussi grand que la Bible, mais c'est un peu plus complexe qu'un trie.

+0

* "quelque chose d'aussi grand que la Bible" *? Vraiment? (FWIW google renvoie 3,6 millions de caractères) – assylias

+0

Je suppose que ce n'est pas le corpus anglais de google, mais de toute façon un DAWG serait probablement plus efficace. –

Questions connexes