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

Algorithmes et structures de données Discussion :

Tranche de tableau ayant la somme minimale


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 74
    Par défaut Tranche de tableau ayant la somme minimale
    bonjour a tous ,
    j'ai un exercice d'une épreuve de concour :
    soit un tableau T remplit aléatoirement par n nombres quelconques(positif,négatifs et nuls)
    1.Ecrire un algorithme en O(n) qui détermine la tranche du tableau T ayant la somme minimale de ses éléments.Une tranche de T est une suite de composants consécutifs de ce tableau.l'algorithme recoit en paramètre le tableau T[1..n] et retourne l'indice de début,l'indice de fin et la somme de la tranche minimale de T.
    j'ai trouvé des diffucultés à résoudre cet exercice et surtout la notion de compléxite.
    si quelqu'un peut m'aider a commencer et de me renseigner peut être d'un cour avec lequel je peux commecer je serais trop reconnaissante

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 297
    Par défaut
    Bonjour

    Explication par l'exemple en cliquant sur ce lien:
    http://imss-www.upmf-grenoble.fr/pre...e/PGSomme.html

  3. #3
    Membre Expert

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Billets dans le blog
    9
    Par défaut Tranche de tableau ayant la somme minimale
    Bonjour,

    Le problème est aussi exposé ici.

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 493
    Par défaut
    salut

    ne pas prendre les exemple tels quel ... il faut réfléchir un peu
    les exemple te donne les montant maxi alors que toi tu veut le mini

    pour moi je serait tente de dire que c'est la valeur minimal de ton tableau
    la case etant une suite d'un espace

    plus sérieusement dans un premier temps il va te faloir determiner
    les différente suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      if TAB[i] =  TAB[i+1] Then
        ADDSUITE(NumSuite,TAB[i+1])
      ELSE 
      BEGIN
         NumSuite := CREENEWSUITE(TAB[i+1]) 
      END
      //.....
     reste plus qu'a parrcourir le tableau suite
    imaginons que nous ayons un tableau de 10 valeurs
    [1][3][2][4][5][6][7][8][10][9]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    [1]
    [1][3]
    [1][3][2]
    [1][3][2][4]
    [1][3][2][9]
    [1][3][2][15]
    [1][3][2][22]
    [1][3][2][30]
    [1][3][2][30][10]
    [1][3][2][30][10][9]
    dans mon exemple la suite minimal = 1

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 469
    Par défaut
    Anapurna: ça ne fonctionne pas, car les nombres peuvent être négatifs.
    Avec la suite
    [1][3][2][-2][-3][6][-4][8][10][9]

    Le suite qui donne le montant mini n'est pas [-4], mais [-2][-3].

    Tatayo.

  6. #6
    Membre Expert

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Billets dans le blog
    9
    Par défaut Tranche de tableau ayant la somme minimale
    Qu'il s'agisse de la recherche du minimum au lieu du maximum ne paraît pas d'une grande importance, parce que (sauf erreur) cela ne devrait entraîner que des modifications mineures de l'algorithme.

    L'énoncé présente par contre une particularité remarquable: l'ordre mutuel des diverses sommes obtenues est complètement modifié lorsque l'on impose une translation à l'ensemble des valeurs du tableau.

    Soit en effet deux listes de données mutuellement décalées d'une valeur constante: T2[k] = T1[k] + C ;
    les sommes de (m) termes consécutifs (m = j - i + 1) admettent pour expression:
    S2[i, j] = Sk=ik=j(T2[k]) = Sk=ik=j(T1[k]) + Sk=ik=j(C) = S1[i, j] + m*C
    et présentent entre elles un écart proportionnel au nombre de termes.

    L'extremum obtenu dépend donc du décalage (C), et il ne peut être question d'envisager un ensemble de valeurs de même signe - j'ai moi-même été tenté par une transformation analogue.

    # Une remarque: l'ensemble des sommes partielles S[i, j] peut être représenté sur une matrice triangulaire supérieure, dont les éléments non nuls se situent sur ou au-dessus de la diagonale principale (i <= j); un tel schéma permet peut-être de mieux saisir l'algorithme.

Discussions similaires

  1. [XL-2010] Tableau croisé dynamique somme d'heures
    Par Dupré2012 dans le forum Excel
    Réponses: 9
    Dernier message: 31/10/2012, 15h36
  2. Réponses: 1
    Dernier message: 10/05/2011, 20h34
  3. Somme minimale entre ensemble
    Par Renaud-62 dans le forum Mathématiques
    Réponses: 1
    Dernier message: 24/06/2009, 12h12
  4. Réponses: 1
    Dernier message: 06/01/2009, 22h44
  5. [JavaScript] tableau ayant pour clé la valeur de plusieurs colonnes
    Par killysui dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/04/2007, 13h23

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