IPB

Bienvenue invité ( Connexion | Inscription )

[ En ligne ] · Standard · Linéaire+

> Algo De Tri, appel aux codeurs

Sha
post 17/03/2005 15:30
Message #1


Cartographe
****

Groupe : Membres
Messages : 2,065
Inscrit le : 16/05/2002 23:00
Lieu : Toulouse
Membre no. 5



Gràce aux conseils de Gfx j'ai pu profiler mon appli java pour trouver quelles étaient les procédures qui la ralentissaient. (J'utilise Hyades sous Eclipse)

Il s'avère que l'un des plus importants bottelnecks (ralentissements) est provoqué par un aglo de tri, qui me sert à classer dans l'ordre décroissant des valeurs de type double, dont le nombre peut aller de quelques-unes à plusieurs milliers.

N'étant pas un vrai programmeur et ayant suivi les conseils que j'ai pu trouver, j'utilise pour l'instant un algo de "tri a bulles", réputé rapide. Alors peut-être que ma version de l'algo est sous-optimale et peut-être même que ce n'est pas le bon algo, si vous pouviez m'aider je vous en serais reconnaissant smile.gif

CODE
   private void triBulle(double[] valeurs) {
       int i;
       boolean permut = true;
       double tempVal = 0;
       int tempNdx = 0;

       for (i = 0; i < valeurs.length; i++) {
           posDec[i] = i;
       }
       while (permut == true) {
           permut = false;
           for (i = 0; i < (valeurs.length - 1); i++) {
               if (valeurs[i] < valeurs[i + 1]) {
                   tempVal = valeurs[i];
                   valeurs[i] = valeurs[i + 1];
                   valeurs[i + 1] = Math.abs(tempVal);
                   tempNdx = posDec[i];
                   posDec[i] = posDec[i + 1];
                   posDec[i + 1] = tempNdx;
                   permut = true;
               }
           }
       }
   }


Ce message a été modifié par Sha - 17/03/2005 17:19.


--------------------
"[I reject] politically-oriented thinking as essentially a hopeless waste of intellectual effort." - John Nash.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topicStart Poll
Réponse(s)
Gfx
post 18/03/2005 12:30
Message #2


Goule
****

Groupe : Membres
Messages : 980
Inscrit le : 01/08/2002 23:00
Lieu : Lyon
Membre no. 106



Utilise quand même Ararys.sort() smile.gif Et puis pour avoir l'ordre décroissant... il suffit de parcourir le tableau en sens inverse puisqu'il est trié smile.gif

Ce message a été modifié par Gfx - 18/03/2005 12:33.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic


Reply to this topicTopic OptionsStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :
 

Version bas débit Nous sommes le : : 03/07/2025 6:23