2012-03-30 3 views
-1

J'ai un énorme fichier d'environ 1 Go avec le format donné. Chaque ligne a deux nombres. Maintenant, la tâche consiste à déterminer que le nombre donné par l'utilisateur, se trouve dans la plage. Comme le fichier est énorme, il prend beaucoup de temps .. Tout aperçu de l'algorithme sera utile pour réduire le facteur temps.algorithme pour l'analyse de fichiers énorme

#1 2 
    #3 5 
    #6 7 
    #7 41 
    #7 8 
    #9 41 

    Input : 4,8,9 

    OUTPUT 

    #1 2 
    #3 5 #4 
    #6 7 
    #7 41 #8,9 
    #7 8 #8 
    #9 41 #9 
+0

Quelle langue/cadre utilisez-vous? À quoi ressemble votre code de lecture de fichier actuel? – hatchet

Répondre

1

S'il n'y a que quelques entrées, rien ne sera plus rapide que de scanner le fichier entier et pour chaque ligne de vérifier chaque numéro individuellement. S'il y a beaucoup d'entrées (> = 20), vous pouvez les trier et vérifier en utilisant la recherche binaire si les nombres inférieur et supérieur de chaque ligne chevauchent la gamme des nombres d'entrée.

0

Créez un fichier d'index qui aura l'emplacement file_seek pour chaque/certaines valeurs de début. De cette façon, vous pouvez sauter directement dans une partie du fichier qui est pertinente.

Questions connexes