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

SL & STL C++ Discussion :

Quel est le conteneur approprié ?


Sujet :

SL & STL C++

  1. #21
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    C'est le but du calcul min(i, j)*n + max(i,j)
    Je parle du nombre d'éléments dans le tableau :
    pour (i,j) = (n-1,n-1),
    min(n-1,n-1)*n + max(n-1,n-1) = (n-1)*n+n-1 = n*n-1
    donc il y a n*n éléments, au lieu de (n+1)*n/2

    Au fait, j'ai parlé de (i,j), i<j, ça devrait être "inférieur ou égal" je crois!

  2. #22
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Mon hypothèse de numérotation partait sur l'idée d'une structure creuse. Si ce n'est pas le cas, on peut encore trouver des numérotations uniques, mais qui reviennent à avoir une structure en double tableau mise à plat. Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    m = min(i,j);
    M = max(i,j); // à calculer d'un bloc, avec une fonction genre minmax)
    tableau[M*(M+1)/2 + m];
    Est-ce plus coûteux ou pas qu'une double indirection ? Je n'en sais rien, seule une mesure permettrait de trancher.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #23
    screetch
    Invité(e)
    Par défaut
    utilise un vector a une dimension. tu as n(n+1)/2 combinaisons possible (c'est la taille de ton vector).

    accede a l'element (i,j) ou i>=j par : j + i(i+1)/2
    accede a l'element (i,j) ou i < j par l'acces a j,i

    temps constant en acces, et tu as juste l'espace suffisant.

  4. #24
    screetch
    Invité(e)
    Par défaut
    ca fait deux fois que je ne vois pas la seconde page d'un post, ca suffit!!! grrrr :[

  5. #25
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par screetch Voir le message
    ca fait deux fois que je ne vois pas la seconde page d'un post, ca suffit!!! grrrr :[
    et en plus il y en as qu'une

  6. #26
    screetch
    Invité(e)
    Par défaut
    ca doit dependre de tes options d'affichage chez moi ca fait deux pages.

    hein ? hors sujet ? quissa??? non! pas moi!

Discussions similaires

  1. [TRIGGER] quel est le déclencheur approprié
    Par PSYcoZZ dans le forum Forms
    Réponses: 1
    Dernier message: 14/11/2009, 01h07
  2. D'apres vous, quel est langage approprié?
    Par shirya dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 31/01/2008, 09h47
  3. Réponses: 6
    Dernier message: 13/11/2007, 12h06

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