[JAVA] Algo très rapide à trouver
Résolu
JEROMAX
Messages postés
274
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Salut
je cherche un algo pour réaliser ça:
J'ai un tableau énorme fixe contenant des quadruplets de lettres
["a", "b","c","d"]
["b", "b", "a", "b"]
["a", "c", "c","b]
etc.
j'ai ensuite un quadruplet de lettres par exemple ["a","d", "b","b"]
Je veux savoir si au moins une des lettres du quadruplet est présente dans un des quadruplets du tableau.
Par exemple:
["a","d", "b","b"] est-il dans ["a", "b","c","d"] => réponse oui
["a","d", "b","b"] est-il dans ["c", "e", "f", "g"] => réponse non
Vous voyez?
Comment je peux faire ça sachant que l'unique priorité (mais incontournable) est la rapidité d'exécution?
Je ne peux pas me permettre de parcours chaque lettre de chaque entrées du tableau et de la comparer au quadruplet...
Par contre je peux prendre plus de temps pour l'initialisation. C'est à dire que je peux créer un (ou plusieurs) tableau de correspondance dans lequel faire ensuite ces recherches.
J'avais pensé aux opérations binaires mais comme les lettres peuvent être présente plusieurs fois dans un même quadruplet, ça ne marche pas...
Le mieux, à la place d'avoir une réponse par oui ou non (dans l'exemple que je donne ci-dessus), serait d'avoir le nombre de correspondance :-)
Par exemple:
["a","d", "b","b"] est-il dans ["a", "b","c","d"] => réponse 2
["a","d", "b","b"] est-il dans ["c", "e", "f", "g"] => réponse 0
Si vous avez une solution 8-O
Merci
je cherche un algo pour réaliser ça:
J'ai un tableau énorme fixe contenant des quadruplets de lettres
["a", "b","c","d"]
["b", "b", "a", "b"]
["a", "c", "c","b]
etc.
j'ai ensuite un quadruplet de lettres par exemple ["a","d", "b","b"]
Je veux savoir si au moins une des lettres du quadruplet est présente dans un des quadruplets du tableau.
Par exemple:
["a","d", "b","b"] est-il dans ["a", "b","c","d"] => réponse oui
["a","d", "b","b"] est-il dans ["c", "e", "f", "g"] => réponse non
Vous voyez?
Comment je peux faire ça sachant que l'unique priorité (mais incontournable) est la rapidité d'exécution?
Je ne peux pas me permettre de parcours chaque lettre de chaque entrées du tableau et de la comparer au quadruplet...
Par contre je peux prendre plus de temps pour l'initialisation. C'est à dire que je peux créer un (ou plusieurs) tableau de correspondance dans lequel faire ensuite ces recherches.
J'avais pensé aux opérations binaires mais comme les lettres peuvent être présente plusieurs fois dans un même quadruplet, ça ne marche pas...
Le mieux, à la place d'avoir une réponse par oui ou non (dans l'exemple que je donne ci-dessus), serait d'avoir le nombre de correspondance :-)
Par exemple:
["a","d", "b","b"] est-il dans ["a", "b","c","d"] => réponse 2
["a","d", "b","b"] est-il dans ["c", "e", "f", "g"] => réponse 0
Si vous avez une solution 8-O
Merci
A voir également:
- [JAVA] Algo très rapide à trouver
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Acces rapide - Guide
- Trouver adresse mac - Guide
- Eclipse java - Télécharger - Langages
6 réponses
Salut ^^
Je ne vois pas d autre moyen que de parcourir tes petits tableau de 4 lettres.
Sur ces petits tableaux, ca ira tres vite ^^
Et puis tu peux toujours gagner du temps. Par exemple si ta fonction trouve une coprrepondance elle s'arrete tout de suite et donc na parcoure pas l'ensemble du tableau.
Combien de tableau a tu a tester ?
Je ne vois pas d autre moyen que de parcourir tes petits tableau de 4 lettres.
Sur ces petits tableaux, ca ira tres vite ^^
Et puis tu peux toujours gagner du temps. Par exemple si ta fonction trouve une coprrepondance elle s'arrete tout de suite et donc na parcoure pas l'ensemble du tableau.
Combien de tableau a tu a tester ?
Ok merci mais j'ai trouvé un autre moyen avec des expressions régulières qui évite le parcours de tous ces petits tableaux.
Rationnelles, les expressions, pas régulières...
Mais ceci-dit, es-tu sûr qu'en Java, elles ne vont pas parcourir toutes les lettres une à une, juste ce que tu voulais éviter ?
Mais ceci-dit, es-tu sûr qu'en Java, elles ne vont pas parcourir toutes les lettres une à une, juste ce que tu voulais éviter ?
Salut,
rationnelles ou régulière?
régulière ou rationnelles?
Ben, il y aura toujour des débâts concernant ce terme :-D
Au lieu de se borner sur ça, vaut mieux les comprendre :-)
Donc ce que tu dis c'est vrai mais pas pour tout le monde (par exemple pour Laurent Dami, celui qui a traduit l'execellent livre - on peut dire la Bible, Maitrîse des Expressions Régulières de Jeffrey E.F. Friedl
Je cite un sous chapitre entier pour ça :
Expressions régulières ou rationnelles?
"En vertu des principes énoncés plus haut, j'ai préféré régulières à rationnelles. Je suis conscient que depuis plusieurs dizaines d'années toute école française a utilisé le terme rationnelles, et que certains défendent aujourd'hui encore avec vigueur cette traduction, comme une sorte d'étendard de la tradition rationnelle française contre l'imperialisme anglophone. Cependant les expressions en question n'ont pas grand-chose à voir avec la raison!
Il est vrai que d'un point de vue mathématique elles ont une certaine parenté avec les nombres que l'on nomme rationnels, qui se traduisent également par rational numbers en anglais. Dans cette logique-là, il aurait peut-être fallu effectivement parler de rational expressions...mais la traduction anglophone n'en a pas voulu ainsi, préférant mettre en avant l'aspect pratique (expressions gouvernées par des règles) plutôt que la cohérence mathématique. Les deux positions sont en principe défendables, mais aujourd'hui la seconde a clairement le dessus: une recherche dans les principaux moteurs d'indexation WEB montre que même dans le monde francophone les pages contenant expressions régulières sont quatre fois plus nombreuses que celles contenant expressions rationnelles.
Ainsi, pour éviter de prendre le lecteur en otage dans des querelles d'école, et pour lui éviter d'inutiles confusions lorsqu'il lira des manuels ou des magazines anglophones, j'ai privilégié le terme régulières."
Par Jeffrey E.F. Friedl - Traduction par Laurent Dami - Edition O'Reilly - 2003
rationnelles ou régulière?
régulière ou rationnelles?
Ben, il y aura toujour des débâts concernant ce terme :-D
Au lieu de se borner sur ça, vaut mieux les comprendre :-)
Donc ce que tu dis c'est vrai mais pas pour tout le monde (par exemple pour Laurent Dami, celui qui a traduit l'execellent livre - on peut dire la Bible, Maitrîse des Expressions Régulières de Jeffrey E.F. Friedl
Je cite un sous chapitre entier pour ça :
Expressions régulières ou rationnelles?
"En vertu des principes énoncés plus haut, j'ai préféré régulières à rationnelles. Je suis conscient que depuis plusieurs dizaines d'années toute école française a utilisé le terme rationnelles, et que certains défendent aujourd'hui encore avec vigueur cette traduction, comme une sorte d'étendard de la tradition rationnelle française contre l'imperialisme anglophone. Cependant les expressions en question n'ont pas grand-chose à voir avec la raison!
Il est vrai que d'un point de vue mathématique elles ont une certaine parenté avec les nombres que l'on nomme rationnels, qui se traduisent également par rational numbers en anglais. Dans cette logique-là, il aurait peut-être fallu effectivement parler de rational expressions...mais la traduction anglophone n'en a pas voulu ainsi, préférant mettre en avant l'aspect pratique (expressions gouvernées par des règles) plutôt que la cohérence mathématique. Les deux positions sont en principe défendables, mais aujourd'hui la seconde a clairement le dessus: une recherche dans les principaux moteurs d'indexation WEB montre que même dans le monde francophone les pages contenant expressions régulières sont quatre fois plus nombreuses que celles contenant expressions rationnelles.
Ainsi, pour éviter de prendre le lecteur en otage dans des querelles d'école, et pour lui éviter d'inutiles confusions lorsqu'il lira des manuels ou des magazines anglophones, j'ai privilégié le terme régulières."
Par Jeffrey E.F. Friedl - Traduction par Laurent Dami - Edition O'Reilly - 2003
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Effectivement, je ne sais pas comment Java exécute les expressions rationnelles... :-/
Mais je pense que, de toutes façons, c'est plus rapide de chercher une chaine dans une autre plutôt que de parcourir chaque tableau.
Pourquoi rationnelles et pas régulières? j'ai toujours dit "régulières" moi. ???
Mais je pense que, de toutes façons, c'est plus rapide de chercher une chaine dans une autre plutôt que de parcourir chaque tableau.
Pourquoi rationnelles et pas régulières? j'ai toujours dit "régulières" moi. ???