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 :

tri a bulle sans les doublons


Sujet :

Algorithmes et structures de données

  1. #1
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut [resolu] tri a bulle sans les doublons
    Bonjour,
    Je fais tourner un tri à bulle, et je m'apercois que j'ai des
    doublons que je veux virer.

    l'aglo normal c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ok =  0
    faire
    {
    pour tous les Elements
         {
          si Element n>Element n+1
            {
              ok = 1
              swap (Element n,Element n+1)
             }
           n=n+1
    }
    tant que pas ok

    pour enlever les doublons j'ai fais ca
    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
     
    ok =  0
    faire
    {
    pour tous les Elements
         {
          si Element n>Element n+1
            {
              ok = 1
              swap (Element n,Element n+1)
             }
     
         si Element n=Element n+1
            {
     
              Element n+1=valeur maxi
             }
     
           n=n+1
    }
    tant que pas ok

    je souhaiterais savoir si il y a pas mieux


    merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 31
    Points : 41
    Points
    41
    Par défaut
    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
    Tri_A_Bulles_Optimise(Nb_Element , Tableau)
    {
     
       Debut = 1
       Fin = Nb_Element - 1
       Termine = faux
     
       TAnt que (Not Termine) And (Debut < Fin)
          Termine = vrai
          pour I = Debut à Fin faire
             Si (Tableau(I) > Tableau(I + 1) ) Alors
                swap(tableau(I),tableau(I+1))
                Termine = faux
                Tampon_Fin = I
             fin si
          fin pour
          Fin = Tampon_Fin
          si(Not Termine) faire
             pour I = Fin downto Debut + 1 
                si(Tableau(I) < Tableau(I - 1)) faire
                   swap(tableau(I),tableau(I+1))
                   Termine = faux
                   Tampon_Fin = I
                fin si
             fin pour
          fin si
       fin tant que
    }

  3. #3
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    Salut goethe,

    j'ai cherché dans ton algorithme mais je ne vois pas
    ce que tu fais des doublons ?

    Mais dis moi si je me trompe

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 31
    Points : 41
    Points
    41
    Par défaut
    je t'ai donné un algo de tri a bulle optimisé : un algo de trie a bulle ne gère pas les doublons.

    Si tu veux les enlever tu peux tjrs faire un parcours simple de ton tableau et les enlever au fur et a mesure : ce n'est jamais qu'une complexité en
    o(n) négligeable devant les o(n²) du trie a bulle.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Note que c'est une méthode classique pour enlever les doublons. On trie puis ou parcours la liste triée.
    PS: Goethe mets des O plutôt que des o dans les complexités. Pour ceux qui ne connaissent pas ça peut prêter à confusion...

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

Discussions similaires

  1. Compter le nombre de lignes sans les doublons
    Par byrdo dans le forum Excel
    Réponses: 15
    Dernier message: 15/06/2007, 14h30
  2. Compter sans les doublons
    Par sentenza dans le forum Access
    Réponses: 4
    Dernier message: 19/03/2007, 16h20
  3. Compter sans les doublons
    Par shinrei dans le forum ASP
    Réponses: 3
    Dernier message: 22/05/2006, 10h22
  4. Réponses: 4
    Dernier message: 02/05/2006, 12h08
  5. Réponses: 3
    Dernier message: 24/04/2006, 19h56

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