Partage
  • Partager sur Facebook
  • Partager sur Twitter

Supprimer les doublons

    24 mars 2012 à 14:08:20

    Bonjour

    J'ai un tableau qui contient plus de 10 Million d'enregistrement et je veux bien savoir combien il ya de doublons et les supprimer ?

    et je veux bien savoir combien sa va prendre du temps pour me donné le résultat



    Cordialement
    • Partager sur Facebook
    • Partager sur Twitter
      27 mars 2012 à 12:06:48

      Salut.

      Aucune idée du langage que tu utilises, aucune idée de comment y coder...

      Mais j'ai une idée de comment procéder - ce qui est déjà pas mal: pour chaque valeur de ton tableau (schématiquement stockée dans des cases), tu scannes la liste des cases de ton tableau et dès qu'il y en a qui correspondent avec la valeur courante, tu supprimes les valeurs contenues dans ces cases et pour chaque fois que tu tombes sur une correspondance 'valeur en cours/valeur dans une case' tu incrémentes un compteur (pour compter le nombre d'occurrences). Ensuite tu passes à la valeur suivante et ainsi de suite.

      Désolé si c'est pas très clair. Avec l'exemple ci-dessous ça devrait être - je l'espère - plus parlant:

      Tableau[0] = "pomme"
      Tableau[1] = "pomme"
      Tableau[2] = "poire"
      Tableau[3] = "ananas"
      Tableau[4] = "poire"
      Tableau[5] = "pomme"
      Tableau[6] = "ananas"
      Tableau[7] = "poire"
      Tableau[8] = "ananas"

      Tu prends Tableau[0] (soit "pomme")
      Tu compares avec les valeurs contenues dans les cases du tableau
      Tu trouves que Tableau[1] = Tableau[0] et que Tableau[5] = Tableau[0]
      Tu supprimes Tableau[1] et incrémente ton compteur de 1
      Tu supprimes Tableau[5] et incrémente ton compteur de 1
      Tu arrives à la fin du scan de ton tableau
      Tu en conclus que Tableau[0] apparait 3x dans le tableau
      Tu prends la valeur suivante
      ...


      Va donc falloir manier des boucles et des tableaux. Ensuite pour ce qui est du temps de traitement, je ne sais pas. :-°
      • Partager sur Facebook
      • Partager sur Twitter

      Le Kansas City Shuffle.. c’est quand tout le monde regarde à gauche et que tu vas à droite.

      Anonyme
        27 mars 2012 à 12:48:31

        Sinon, méthode simple : utilise la méthode d'extension Distinct() de System.Linq.
        • Partager sur Facebook
        • Partager sur Twitter
          27 mars 2012 à 13:49:26

          Voire tu stockes directement dans une HashSet qui supprime les doublons dès l'insertion ;)

          Cordialement !
          • Partager sur Facebook
          • Partager sur Twitter
          Censément, quelqu'un de sensé est censé s'exprimer sensément.

          Supprimer les doublons

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown