Problème d'optimisation

Résolu
jc_romeo Messages postés 59 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 janvier 2006 - 25 déc. 2004 à 11:27
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 - 25 déc. 2004 à 15:42
Bonjour

Je fais un programme qui permet de faire un résumé de texte.
Dans un premier temps, il faut que je parse mon texte pour avoir les différents mots qui le composent ainsi que leur place dans le texte.
Je crée donc un dictionnaire et des pointeurs sur les mots du dico pour chaque phrase, au fur et à mesure que j'avance dans le texte.
Pour avoir un programme optimiser, faut il que:
- je rentre les mots dans le dictionnaire les uns à la suite des autres, dans ce cas, ils ont un numéro comme identifiant et il suffit de stocker des numéros pour pouvoir retrouver les mots. Par contre, l'ajout de mots dans le dictionnaire est plus longue, puisque les mots ne sont pas rentrés par ordre alphabétique.

-je rentre les mots par ordre alphabétique. Dans ce cas, l'ajout de mot est beaucoup plus court mais je prends de la place pour stocker les mots (que je ne peux plus identifier par des entiers mais uniquement par des strings)

Est ce le gain de mémoire ou de temps qui est le plus important dans ces cas là sachant que je peux avoir à analyser des textes d'une dizaine de page word?

Merci d'avance
JC

1 réponse

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
25 déc. 2004 à 15:42
:big) Neodante :big)

Je te conseillerais d'utiliser un hashmap ou une hashtable, de cette façon tu pourras utiliser l'ordre alphabétique si tu veux (regarde la javadoc de ces deux classes), de plus le processus est simple à réaliser et cela correspond à tes 2 demandes en même temps (numéro d'identifiant, le hashcode, et un tri par ordre alphabétique, avec recherche par mot ...).

Pour ce qui est du gain, cela dépend des machines sur lesquelles cela tournera mais je pense que pour 10 pages, tu n'as pas vraiment à t'inquiter ni de la mémoire, ni de la rapidité ... ;-)
@+

[Responsable www.neogamedev.com et Admin CS]
3
Rejoignez-nous