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 :

selection aléatoir d'un gd nombre de lignes


Sujet :

Algorithmes et structures de données

  1. #1
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut selection aléatoir d'un gd nombre de lignes
    bonjour ,

    j'ai un fichier contenant des millions de lignes (4000000) , je veux ecrire un alogo qui au hasard me permet d'extraire 10000 lignes ,

    je n'ai pas trouvé l'idée comment faire !

    qqun peut m'aider

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Si c'est un fichier texte dont les lignes ont des longueurs variables, tu es obligé de lire le fichier séquentiellement.
    Une manière de faire est de tirer 10000 nombres au hasard entre 0 et ton nombre de lignes, de les trier par ordre croissant dans un tableau, puis de parcourir le tableau en lisant à chaque fois le bon nombre de lignes pour arriver sur celles qui t'intéressent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    T[0] <- 0
    Pour i de 1 à 10000 T[i] <- hasard(4000000) FPour
    Trier T par ordre croissant
    Pour i de 1 à 10000
      Lire T[i]-T[i-1] lignes
      Traiter la dernière ligne lue
    Fin Pour
    C'est un schéma général. Il reste à gérer les éventuels doublons dans les nombres tirés au hasard (les supprimer et éventuellement en générer de nouveaux si tu veux exactement 10000 lignes).

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    si c'est pour constituer un échantillon un simple modulo taille fichier/taille de l'échantillon devrait suffire

  4. #4
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    merci borisd c super

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

Discussions similaires

  1. Nombre de lignes renvoyées par un SELECT
    Par eowene dans le forum Zend Framework
    Réponses: 7
    Dernier message: 04/12/2007, 09h42
  2. Selection plage de cellule au nombre de lignes variable
    Par yoann7 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/11/2007, 09h30
  3. [PDO] Compter le nombre de lignes d'une requête SELECT
    Par WerKa dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/06/2007, 20h57
  4. Réponses: 2
    Dernier message: 02/10/2006, 11h45
  5. [C#] Comment connaître le nombre de lignes affectées par un Select ?
    Par diaboloche dans le forum Accès aux données
    Réponses: 6
    Dernier message: 21/09/2006, 13h56

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