Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1037 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  mode

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mode

n°517796
os2
Posté le 19-09-2003 à 00:42:15  profilanswer
 

quel est l'algo le plus efficace pour trouver le mode d?une suite de nombres (c?est-à-dire, le nombre qui apparaît le plus souvent dans la suite?
 
je sais qu'il y a cette méthode:

Code :
  1. 1. TrouverMode(T[1?.N])
  2. 2. mode = 0
  3. 3. nbmode = 0
  4. 4. Pour i = 1 à N
  5. 5.      nboccurence = 0
  6. 6.      Pour j = 1 à N
  7. 7.            Si t(i) = t(j) alors
  8. 8.                   nboccurence = nboccurence + 1
  9. 9.     Si nboccurence > nbmode
  10. 10.           nbmode = nboccurence
  11. 11.           mode = t(i)
  12. 12. Retourner mode


 
 
mais bon c'est du n²
donc poubelle...
 
il y a moyenne de le faire il me semble en une boucle... mais je me rappele pu comment


---------------
Borland rulez: http://pages.infinit.net/borland
mood
Publicité
Posté le 19-09-2003 à 00:42:15  profilanswer
 

n°517800
schnapsman​n
Zaford Beeblefect
Posté le 19-09-2003 à 00:54:17  profilanswer
 

le mieux qui me vienne comme ça, c'est n*log(n)


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°517810
os2
Posté le 19-09-2003 à 02:53:16  profilanswer
 

SchnapsMann a écrit :

le mieux qui me vienne comme ça, c'est n*log(n)


 
et l'algo?


---------------
Borland rulez: http://pages.infinit.net/borland
n°517822
Taz
bisounours-codeur
Posté le 19-09-2003 à 04:43:35  profilanswer
 

os2 a écrit :


 
et l'algo?

moi je dirai : tu tries et après tu parcours une fois en comptant

n°517835
chrisbk
-
Posté le 19-09-2003 à 07:38:53  profilanswer
 

SchnapsMann a écrit :

le mieux qui me vienne comme ça, c'est n*log(n)


 
on doit pouvoir descendre a 2*N dans certains cas
 
admettons que les valeurs de T vont de 0 a 256
 

Code :
  1. int res[256];
  2. //mise de res a 0
  3. for (int i=0;i<N;i++)
  4. res[T[i]]++;
  5. int indexMax = 0;
  6. for (int i=1;i<N;i++)
  7. {
  8. if (res[i] > res[indexMax]
  9. indexMax = i;
  10. }

 

n°517845
chrisbk
-
Posté le 19-09-2003 à 08:12:55  profilanswer
 

voir meme N....
 
 

Code :
  1. int res[256];
  2. //mise de res a 0  
  3. int max =0;
  4. int maxIndex = 0;
  5. for (int i=0;i<N;i++)
  6. {
  7. res[T[i]]++;
  8. if (res[T[i]] > max)
  9. {
  10. max = res[T[i]];
  11. maxIndex = T[i];
  12. }
  13. }


Message édité par chrisbk le 19-09-2003 à 08:13:03
n°517849
philou_a7
\_o&lt; coin ! &gt;o_/
Posté le 19-09-2003 à 08:35:33  profilanswer
 

chrisbk a écrit :


 
on doit pouvoir descendre a 2*N dans certains cas
 
admettons que les valeurs de T vont de 0 a 256
 


 
heu, là quand même c'est une restriction forte !
la solution d'os2 (tri + comptage sequentiel) est a mon avis la meilleure pour le cas generale (je vois pas mieux en fait :p)

n°517850
Taz
bisounours-codeur
Posté le 19-09-2003 à 08:37:41  profilanswer
 

philou_a7 a écrit :


 
heu, là quand même c'est une restriction forte !
la solution d'os2 (tri + comptage sequentiel) est a mon avis la meilleure pour le cas generale (je vois pas mieux en fait :p)

ben c'est analogue au tri dit "de la trieuse"    [:spamafote] mais bon, c'est un ca supair particulier

n°517928
schnapsman​n
Zaford Beeblefect
Posté le 19-09-2003 à 09:36:55  profilanswer
 

os2 a écrit :


 
et l'algo?


 
insertion de tous les éléments dans un tas binaire: n*log(n), à la fin le plus grand (ou plus petit c'est selon) est en sommet de tas.


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°517937
Taz
bisounours-codeur
Posté le 19-09-2003 à 09:40:10  profilanswer
 

SchnapsMann a écrit :


 
insertion de tous les éléments dans un tas binaire: n*log(n), à la fin le plus grand (ou plus petit c'est selon) est en sommet de tas.
 

y avais po pensé  :jap:

mood
Publicité
Posté le 19-09-2003 à 09:40:10  profilanswer
 

n°517971
philou_a7
\_o&lt; coin ! &gt;o_/
Posté le 19-09-2003 à 10:03:13  profilanswer
 

SchnapsMann a écrit :


 
insertion de tous les éléments dans un tas binaire: n*log(n), à la fin le plus grand (ou plus petit c'est selon) est en sommet de tas.
 


 
a vi  ;)  
par contre, l'implementation est un poil plus lourde :D

n°517981
schnapsman​n
Zaford Beeblefect
Posté le 19-09-2003 à 10:08:44  profilanswer
 

philou_a7 a écrit :


 
a vi  ;)  
par contre, l'implementation est un poil plus lourde :D


 
pas tellement, c'est bidon à implémenter un tas binaire


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°517982
philou_a7
\_o&lt; coin ! &gt;o_/
Posté le 19-09-2003 à 10:09:28  profilanswer
 

un petit peu plus qu'un tri quand même ;)

n°517983
Taz
bisounours-codeur
Posté le 19-09-2003 à 10:11:02  profilanswer
 

philou_a7 a écrit :

un petit peu plus qu'un tri quand même ;)

quel langage ?

n°518186
os2
Posté le 19-09-2003 à 13:52:44  profilanswer
 

chrisbk a écrit :

voir meme N....
 
 

Code :
  1. int res[256];
  2. //mise de res a 0  
  3. int max =0;
  4. int maxIndex = 0;
  5. for (int i=0;i<N;i++)
  6. {
  7. res[T[i]]++;
  8. if (res[T[i]] > max)
  9. {
  10. max = res[T[i]];
  11. maxIndex = T[i];
  12. }
  13. }




 
merci c'est cette solution que je cherchais...


---------------
Borland rulez: http://pages.infinit.net/borland

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  mode

 

Sujets relatifs
cobol-mode pour emacsTracer une ligne entre deux point en mode console
[TurboC] Combinaison mode texte/mode graphiquecomment choisir un item par defaut dans combobox en mode dropdownlist
Ouverture en mode partagé ?Mettre des couleurs dans un prog en mode console ?
[JAVA] Mode plein écranfopen, fseek, ftell, ... en mode 64 bits
Erreur d'arrondi différentes en mode Debug ou ReleaseLangages essentiels, à la "mode"?
Plus de sujets relatifs à : mode


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR