Dalam perangkaan, pensampelan merujuk kepada mendapatkan subset populasi untuk mewakili keseluruhan populasi. Matlamatnya adalah untuk menjana semua kemungkinan gabungan saiz tertentu daripada set elemen tertentu.
Untuk mencapai matlamat ini, kita boleh menggunakan algoritma rekursif, seperti yang ditunjukkan di bawah:
function sampling($chars, $size, $combinations = array()) { # Initialize the starting combinations as the original set if (empty($combinations)) { $combinations = $chars; } # Base case: stop if we've reached the desired size if ($size == 1) { return $combinations; } $new_combinations = array(); # Iterate over existing combinations and add new characters foreach ($combinations as $combination) { foreach ($chars as $char) { $new_combinations[] = $combination . $char; } } # Call the function recursively to generate the next iteration of combinations return sampling($chars, $size - 1, $new_combinations); }
Contoh :
$chars = array('a', 'b', 'c'); $output = sampling($chars, 2); # Display the generated combinations var_dump($output); /* Expected Output: array(9) { [0]=> string(2) "aa" [1]=> string(2) "ab" [2]=> string(2) "ac" [3]=> string(2) "ba" [4]=> string(2) "bb" [5]=> string(2) "bc" [6]=> string(2) "ca" [7]=> string(2) "cb" [8]=> string(2) "cc" } */
Atas ialah kandungan terperinci Bagaimana Menjana Semua Gabungan Saiz Tertentu daripada Set?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!