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

Langage C++ Discussion :

Optimiser code c++


Sujet :

Langage C++

  1. #21
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    ca reste de l'economie de bout chandelle. L'algo ets et reste un truc lineaire et memory bound.

  2. #22
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 301
    Points : 345
    Points
    345
    Par défaut
    @Arzar: as-tu testé avec les tests U que j'ai mis? Chez moi, l'algo de iradrille et le tiens modifié me renvoient 3 dans le cas de deux séquences identiques.
    Aurais tu un exemple pour lequel le code que j'ai mis (qui est la traduction de l'algo d'Astraya ) ne fonctionne pas? (j'ai beau chercher, je vois pas ce qui pourrait clocher)

    [Edit] je viens de voir que c'est voulu par Iradrille, sachant que l'OP sur ce point n'a pas répondu sur le comportement souhaité

  3. #23
    Membre émérite

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Points : 2 252
    Points
    2 252
    Par défaut
    Citation Envoyé par CedricMocquillon Voir le message
    Aurais tu un exemple pour lequel le code que j'ai mis |...]
    Je ne l'avais pas vu
    Tu as posté quelques minutes avant moi, et j'étais déjà en train de rédiger pendant ce temps.

  4. #24
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Si j'ai bien compris la définition de "dominer": une liste L domine une liste R si pour tout i L[i] <= R[i].

    Je pense que l'astuce n'est pas de parcourir toute la liste.
    Si on a L[0]<R[0] alors on pose comme hypothèse que c'est vrai pour tout i et on s'arète dès que notre hypothèse est invalidée.

    Comme on travail sur des listes l'utilisation des index n'est peut être pas le plus judicieux...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     
    enum Dominant
    {
      L2Dominant,
      L1Dominant,
      SaisPas
    };
     
    int compareListe(QList<int> & L1, QList<int> & L2)
    {
      if(L1.size()>0 && L1.size() == L2.size())
      {
        QList<int>::const_iterator it1 = L1.begin();
        QList<int>::const_iterator it2 = L2.begin();
        Dominant d = SaisPas;
        while(it1!=L1.end())
        {
          if(*it1!=*it2)
          {
    	if(SaisPas==d)
    	  d = (*it1<*it2)?L1Dominant:L2Dominant;
    	else
    	  if( (*it1<*it2)?L1Dominant:L2Dominant != d)
    	    return 0;
          }
          ++it1;
          ++it2;
        }
        if(d==L1Dominant)
          return 1;
        if(d==L2Dominant)
          return 2;
      }
      return 0;
    }

Discussions similaires

  1. [VBA-E optimisation code] ameliorer la méthode pour cacher des lignes
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/07/2008, 10h53
  2. Optimisation Code - Dernière ligne de la feuille
    Par Trust dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/07/2008, 13h25
  3. Optimisation code pour gagner en rapidité
    Par polodu84 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/03/2008, 16h32
  4. Réponses: 13
    Dernier message: 22/02/2008, 19h55
  5. Optimiser code VBA
    Par willytito dans le forum VBA Access
    Réponses: 5
    Dernier message: 19/11/2007, 10h49

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