You can find a proof of this method in The Art of Computer Programming, Volume 2, Section 3.4.2, by Donald E. Knuth.
J'ai mis du temps à comprendre comment ça marche mais ça marche et tous les fichiers ont autant de chance d'être sélectionnés (et sans lire le bouquin en question :op).
Le 1er à 100% de chance d'être sélectionné, forcément. Le deuxième a une chance sur deux d'être sélectionné donc 50% pour le 1er, 50% pour le 2ème. Le 3ème a 1/3 d'être pris donc 1/3 pour le 3ème, (2/3)*(1/2) = 1/3 pour le 2ème et pareil pour le 3ème et ainsi de suite.
Doit y avoir moyen de démontrer ça mathématiquement par récurrence mais je suis en vacances là :op
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: rand($.) < 1 && ($line = $_) while <>
Posté par Krunch (courriel, site web personnel) . En réponse au message Accès aléatoire à un fichier d'un répertoire. Évalué à 2.
Le 1er à 100% de chance d'être sélectionné, forcément. Le deuxième a une chance sur deux d'être sélectionné donc 50% pour le 1er, 50% pour le 2ème. Le 3ème a 1/3 d'être pris donc 1/3 pour le 3ème, (2/3)*(1/2) = 1/3 pour le 2ème et pareil pour le 3ème et ainsi de suite.
Doit y avoir moyen de démontrer ça mathématiquement par récurrence mais je suis en vacances là :op
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.