IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

[Perf] Permuter un tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 14
    Par défaut [Perf] Permuter un tableau
    Bonjour,
    Je souhaite permuter un tableau. Le problème est que pour un grand nombre d'objets à permuter, la fonction réalisée prend trop de temps. Auriez vous une solution plus rapide ?

    Le tableau phi est le tableau qui permet de definir une permutation et de la conserver (il faut absolument que je conserve les positions de départ et d 'arrivée).

    Voila ce qui a été fait :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected Ball[] permuteList(Ball[] tabBall) {
     
            int size = tabBall.length;
            Ball[] result = new Ball[size];
     
            int pos;
            for (int i = 0; i < size; i++) {
                pos = phi[i];
                result[pos] = tabBall[i];
            }
            return result;
        }
    Merci pour votre aide







    [Modéré par Didier]
    Ajout de tag dans le titre
    Lire les règles du forum : Règles du forum Java

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    Salut,

    Bon j'ai pas de solution codée, juste quelques petites idées :
    - est-ce que tu permutes tous tes objets à chaque fois, où seulement certains ?? (càa dire est-ce que tu as des objets qui vont rester à la même place ?) Parce que dansce cas, ce serait pe bien de stocker les changements dans une List et de travailler avec.

    - est-ce que tu as posé ta question sur le forum d'algo ??

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 14
    Par défaut
    Oui, tous les objets doivent être permutés.

    Pour ce qui est du stockage des changements, c'est fait ! c'est le tableau phi[] qui conserve les permuts.

    exemple pour un tableau de 3 objets à permuter avec phi = {1,2,0} et un tableau {4,5,6} à permuter, ca va donner en sortie le tableau suivant :

    {6,4,5}

    Parce que dansce cas, ce serait pe bien de stocker les changements dans une List et de travailler avec.

    Je vais posé la question sur le forum d'algo.

    Merci

  4. #4
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut
    j'ai peu etre une solution qui prend 2 fois moins de temps (enfin je crois, g jamais étais douée en complexité )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected Ball[] permuteList(Ball[] tabBall) { 
     
            int size = tabBall.length; 
            Ball temp;
             Ball[] result = new Ball[size]; 
     
            for (int i = 0; i < size/2; i++) { 
                result [i]=tabBall[size-i];
                result [size-i]=tabBall[i];
            } 
            return result; 
        }

  5. #5
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut
    oups, désolée, j'avais mal lu le probleme.
    bon, ben ma solution marche pas alors

  6. #6
    duj
    duj est déconnecté
    Membre chevronné

    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 141
    Par défaut
    Salut,

    je sais pas si on sait faire plus rapide que ton code, en conservant les mêmes critères!!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 14
    Par défaut
    OK, donc pas possible de faire mieux visiblement !

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Par défaut
    Post supprimé.
    Je croyais le clonage plus rapide que la copie et bin non
    cf http://home.bredband.no/gaulyk/java/tutorial/

    Sorry

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trie de permutation d’un tableau
    Par dot-_-net dans le forum Langage
    Réponses: 2
    Dernier message: 04/05/2008, 23h55
  2. [PERF] Boucle implicite et tableau
    Par petrebang dans le forum Fortran
    Réponses: 2
    Dernier message: 30/10/2007, 17h24
  3. Récursivité, permutations d' éléments dans un tableau
    Par baeri dans le forum Algorithmes et structures de données
    Réponses: 20
    Dernier message: 29/01/2007, 20h29
  4. Réponses: 2
    Dernier message: 19/12/2006, 22h57
  5. Permuter un tableau
    Par seb-astien dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 25/08/2004, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo