Algorithme le plus rapide [Résolu]

Signaler
Messages postés
26
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
12 décembre 2009
-
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
-
Bonjour les amis,

je cherche l'algorithme le plus rapide en C++ pour obtenir de la fonction suivante

inline int fonction (char* a) {


}

les résultats suivants:
entrée Sortie
A 3
E 4
C 9
K 10
L 40
autre 0

Il existe apparemment un algorithme plus rapide que le switch/case

Merci

23 réponses

Messages postés
26
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
12 décembre 2009

deux colonnes car en entrée ya le char * a et en sortie le int, non?
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
tu as un int tableau[256] qui contient toutes les valeurs et dans ta fonction tu as juste à retourner tableau[*a]


J'y ai pensé mais plusieurs problèmes:
* Il ne connait pas les vrais valeurs, donc si il se tape un caractère étendu, la technique ne fonctionnera plus
* Prend de la place en mémoire, si il est sur un système embarqué, c'est peu être beaucoup trop place.

Sinon, si les contraintes sont celles posées à l'origine du problème, ça peut être une excellente idée. Mais à voir tout de même le réel gain, si gain il y a.
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3