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

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  arraylist : recherche performante

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

arraylist : recherche performante

n°1751149
twisted
Ahhhhhhhh !
Posté le 25-06-2008 à 14:55:31  profilanswer
 

bonjour à tous,  
 
je fait appel à votre aide pour un petit problème en C#.
 
j'ai une arraylist composée de nombres (ushort).
mon but est de créer une méthode static qui retourne le nombre qui apparaît le plus de fois.
le tableau pouvant être très gros, je cherche de l'aide pour avoir un code performant.
 
des idées ?


Message édité par twisted le 25-06-2008 à 14:56:03
mood
Publicité
Posté le 25-06-2008 à 14:55:31  profilanswer
 

n°1751521
haazheel
Posté le 26-06-2008 à 09:00:32  profilanswer
 

Je ne vois pas trop comment optimiser ça à mort. Le parcours d'un tableau est vraiment très rapide linéairement, donc bon...
 
Ou alors dérouler la boucle en multi-thread?


---------------
Another .Net Blog
n°1751539
twisted
Ahhhhhhhh !
Posté le 26-06-2008 à 09:44:43  profilanswer
 

je pensais optimiser ça en limitant au maximum les copies dans des variables ou des tableaux temporaires.
 
la boucle multi-thread ? peux-tu m'en dire plus ?

n°1751770
haazheel
Posté le 26-06-2008 à 13:37:56  profilanswer
 

Tu n'as qu'à poster le code que tu comptes faire, ça sera plus facile de te donner un coup de main


---------------
Another .Net Blog
n°1751804
twisted
Ahhhhhhhh !
Posté le 26-06-2008 à 14:25:39  profilanswer
 

j'ai trouvé une autre façon de procéder, plus simple et performante.
 
l'objectif était parmi des informations provenant de la bdd de retrouver celle qui apparaît le plus de fois.
 
j'ai donc créé un hashtable. le duo key/value me permet de stocker la valeur et son nombre d'occurence. je teste simplement dans une boucle si la valeur existe dans mon hashmap, si oui frequence++ sinon, monHashmap.add(object).
 
ensuite, c'est très simple de récupérer ce que je souhaite.
 
merci quand même ;)


Message édité par twisted le 26-06-2008 à 14:26:16
n°1751819
haazheel
Posté le 26-06-2008 à 14:48:00  profilanswer
 

mmm
 
Je pensais que c'était ce que tu faisais directement, et que tu demandais comment optimiser ça...
 
Mais si ça vient d'une BDD, une requête SQL peut faire l'affaire aussi ;)


---------------
Another .Net Blog
n°1751825
twisted
Ahhhhhhhh !
Posté le 26-06-2008 à 14:51:45  profilanswer
 

une requête sql qui réalise ça ?
je suis preneur ;D
je veux bien à ptit exemple simple.

n°1751844
haazheel
Posté le 26-06-2008 à 15:09:10  profilanswer
 

Quelle est ta requête actuelle?


---------------
Another .Net Blog
n°1752213
twisted
Ahhhhhhhh !
Posté le 27-06-2008 à 13:41:20  profilanswer
 

Code :
  1. SELECT * FROM matable WHERE ID IN (123,159,158)


 
c'est un exemple. les id recherchés avec le IN sont ajoutés dynamiquement. (ils sont dans une arraylist à la base)

n°1752217
haazheel
Posté le 27-06-2008 à 13:55:51  profilanswer
 

Déjà, il faut éviter de faire un SELECT * au profit d'un SELECT maTable.Champ1, maTable.Champ2, etc... Ne rapatrier que ce dont tu as besoin.
 
Ensuite la requête que tu peux faire pour avoir le compte de tes clés.
 
Un truc du genre:
 

Code :
  1. SELECT maTable.Key, COUNT(*)
  2. FROM maTable
  3. GROUP BY maTable.Key


 
Plus d'infos sur le SQL sur cette excellent site: http://sql.developpez.com


---------------
Another .Net Blog
mood
Publicité
Posté le 27-06-2008 à 13:55:51  profilanswer
 

n°1752601
moi23372
Posté le 28-06-2008 à 08:41:05  profilanswer
 

si c'est pour stocker des nombres, n'utilise pas ArrayList mais BitVector ou BitVector32. Ils sont plus optimisé que ArrayList pour le stockage de nombre.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  arraylist : recherche performante

 

Sujets relatifs
je recherche des charts gratuits pour vb.netRecherche d'un script pour les images
> Recherche programmateur pour créer logiciel (qui sera rémunéré)[VBA] Recherche nom ou numero de feuille contenant un range
[VBA] Recherche dans les éléments d'une listeRecherche programmateur
Je recherche des personnes pour créer un site internetScript de recherche et d'effacement
moteur de recherchemini moteur de recherche sous firefox pb
Plus de sujets relatifs à : arraylist : recherche performante


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