Bonjour,
voulant lire un gros fichier, il y a une question que je me pose pour ne pas faire ramer mon ordinateur et avoir la reponse la plus rapide possible.
Si j'ouvre un fichier .txt contenant jusqu'a plusieurs millions de lignes (plusieurs centaines de millions), chacune contenant (ou pas) un nombre qui m'interesse (je sais a l'avance que le nombre comprends 9 chiffres et c'est a peu pres tout) et que je veux recuperer (faire la liste des nombres rencontres, la fequence d'apparition d'un nombre et lier cela a d'autres infos), j'ai pense a deux options :
la premiere consiste a recuperer les nombres au fur, et les enregistrer dans une liste (ou autre structure) par exemple, si je ne les ai pas rencontres avant
la deuxieme consisterait a preparer ce meme type de liste, mais a l'avance, intialisee a 0 pour la frequence d'apparitions.
Le probleme c'est que ces deux solutions me paraissent aussi bete l'une que l'autre : la premiere m'obligeant a parcourir ma liste a chaque fois que je rencontre un nombre, a la recherche de ce meme nombre, la deuxieme parce que je me reserve de la place tout a fait inutilement, tout ca parce que je connais juste l'intervale des valeurs qui peuvent etre prises et que je pense que la memoire risque de ne pas apprecier.
Existe-t-il une solution plus inteligente, ou sinon quelle serait la plus inteligente de ces deux solutions precedentes ?