Structure de données pour stocker des chaînes de caractères?
Je suis à la recherche d'une structure de données pour stocker des chaînes de caractères. J'ai besoin d'une fonction dans l'interface qui prend une chaîne de caractères comme seul paramètre et renvoie une référence/itérateur/pointeur/poignée qui peut être utilisé pour récupérer la chaîne de caractères pour le reste de la durée de vie de la structure des données. L'appartenance, l'entrée de la suppression etc. n'est pas nécessaire.
Je suis de plus en plus concernés par l'utilisation de la mémoire que la vitesse.
Veuillez être plus précis. Quelle langue?
Nous avons besoin de plus d'informations pour vous aider... la plupart des langues déjà fournir structures de données pour la gestion des chaînes de manière efficace (par exemple, Java StringBuilder).
Je crois qu'il parle de stocker un ensemble de chaînes de caractères, pas un seul
Ah, que de sens maintenant =)
Nous avons besoin de plus d'informations pour vous aider... la plupart des langues déjà fournir structures de données pour la gestion des chaînes de manière efficace (par exemple, Java StringBuilder).
Je crois qu'il parle de stocker un ensemble de chaînes de caractères, pas un seul
Ah, que de sens maintenant =)
OriginalL'auteur Joe Gauterin | 2009-01-28
Vous devez vous connecter pour publier un commentaire.
Un très efficace structure de données pour stocker des chaînes de caractères est le Trie. Cela permet d'économiser de la mémoire et de temps en stocker des chaînes de caractères communs avec les préfixes à l'aide de la même mémoire.
Vous pouvez utiliser comme pointeur retourné le marqueur final de la chaîne dans la Trie, qui identifie de manière unique la chaîne, et pourrait être utilisée pour recréer la chaîne en parcourant la Trie vers le haut.
Absolument de bons conseils. Notez que nous n'avons pas à discuter Suffixe tente en particulier, plutôt la trie général de la chaîne de stockage/de données de recherche de la structure. Une variante de la trie, qui traite un peu avec l'utilisation de la mémoire est l'Patricia Trie - qui évite le caractère unique des nœuds autant que possible.
OriginalL'auteur Avi
Je pense que le mot clé ici est chaîne de stage, où vous stockez une seule copie de chaque chaîne. En Java, ceci est accompli par
String.stagiaire()
:OriginalL'auteur Zach Scrivena
Je pense que le meilleur choix ici serait un ArrayList. La commune implémentations ont une surcharge d'allouer de l'espace supplémentaire dans le tableau pour les nouveaux éléments, mais si la mémoire est d'une telle exigence, vous pouvez attribuer manuellement pour chaque nouvel élément. Il sera plus lent, mais seulement l'utilisation de la mémoire nécessaire pour la chaîne.
OriginalL'auteur Gonzalo Quero
Il y a trois façons de stocker des chaînes de caractères:
OriginalL'auteur sangita bora