Salut Typiquement, la rapidité d'un bon algo de calcul des occurences des mots > doit être linéaire avec la longueur de la chaine. Donc O(n). C'est le but, > en tout cas ; je doute qu'on puisse descendre en dessous, mais ça fait 20 > ans que j'ai pas fait de maths-infos ;) >
C'est sur qu'en bidouillant un peu on peut atteindre un bon O(log(n)) mais bon ne me demande pas comment mes dernier cours d'info remonte à la préhistoire, mais si je me souvient dans les algo de recherche le divide and conquer donnais de bon résultat. Sinon pour revenir à la question, j'essaye quand j'ai du temps libre de me mettre un peu à Python, venant de R j'ai pour habitude d'utiliser ce qui existe quand c'est bien fait au lieu de bidouiller un code sous optimal. Donc si tu aimes bien jouer avec les modules, essaie la classe Counter du module collection from collection import Counter mot = "coucou allo allo allo coucou world" print(Counter(mots.split())) Je trouve plus que c'est beaucoup plus simple et plus lisible (une des raison qui m'emmène à Python) Le 28 septembre 2011 17:17, Patt Rick <[email protected]> a écrit : > Pauvre de moi, j'ai jamais fait maths-info ;-) > mais c'est aussi pour ces raisons justement que je demandais differentes > maniere de proceder. > > Le 28 septembre 2011 14:05, Thomas NOEL <[email protected]> a écrit : > >> Le 28 septembre 2011 15:49, Patt Rick <[email protected]> a écrit : >> >> super sympa toutes vos astuces, merci pout tout. Heum, c'est quoi une >>> fonction tres O(n) ???? >> >> >> >> http://fr.wikipedia.org/wiki/Th%C3%A9orie_de_la_complexit%C3%A9_des_algorithmes >> >> Typiquement, la rapidité d'un bon algo de calcul des occurences des mots >> doit être linéaire avec la longueur de la chaine. Donc O(n). C'est le but, >> en tout cas ; je doute qu'on puisse descendre en dessous, mais ça fait 20 >> ans que j'ai pas fait de maths-infos ;) >> >> -- >> Thomas >> >> >> >> -- >> Ce message a été envoyé à la liste [email protected] >> Gestion de votre abonnement : http://dakarlug.org/liste >> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug >> Le site du DakarLUG : http://dakarlug.org >> > > > > -- > * > Sincerely, > * > * > * > *"still water is deep"* > *Patrick Nsukami, young JAVA EE developer, hi-tech lover! > > Profile <http://www.doyoubuzz.com/patrick-nsukami> - > Twitter<http://twitter.com/#%21/@LeMeteore> > **DakarLUG <http://blog.dakarlug.org/> member - > SeneJUG<http://www.senejug.com/> member > - Coders4Africa <http://coders4africa.org/> member * > *tel: +221 70 605 15 88 / +221 76 460 08 40 > > * > * > * > > > > -- > Ce message a été envoyé à la liste [email protected] > Gestion de votre abonnement : http://dakarlug.org/liste > Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug > Le site du DakarLUG : http://dakarlug.org >
-- Ce message a été envoyé à la liste [email protected] Gestion de votre abonnement : http://dakarlug.org/liste Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug Le site du DakarLUG : http://dakarlug.org
