Envoyé par
leternel
Notons N est le nombre de fichiers et Mi la taille du fichier i.
le nombre de lignes à calculer est produit pour i dans {1..N} de Mi, soit O(M^N)
Cela dit, tu peux maintenir une liste de i-produits, qui serviront de préfixes.
Pour simplifier supposons que chaque fichier ne contienne qu'un élément par ligne (je les note par ligne pour la présentation)
f1 = {1, 2, 3}
f2 = {4, 5, 6}
Il s'agit de modifier cette liste à chaque nouveau fichier.
liste initiale = { {} } //un élément, la liste vide
liste après F1 = { {1}, {2}, {3} }
liste après F2 = { {1 4}, {1 5}, {1 6}, {2 4}, {2 5}, {2 6}, {3 4}, {3 5}, {3 6} }
Pour chaque élément l de la liste L(i) à l'étape i, on crée Mi éléments dans la liste L(i+1), chacun étant la concaténation de l et d'une des lignes du fichier Fi
Tu auras besoin d'une structure de liste de listes de nombres, et de deux instance de ce type (une pour L(i), une pour L(i+1)).
Partager