34
правки
Изменения
→Псевдокод
===Псевдокод===
randomCombination(arrayOfElements, n, k)
'''for''' i = 1 '''to''' k
r = rand(1..n - i + 1);
cur = 0;
'''for''' j = 1 '''to''' n
'''if''' exist[j]
cur++;
'''if''' cur == r
res[i] = arrayOfElements[j]
exist[j] = false;
sort(res);
return res;
Сложность алгоритма — <tex>O(n^2)</tex>