Изменения

Перейти к: навигация, поиск

Методы генерации случайного сочетания

192 байта добавлено, 19:45, 16 декабря 2014
Нет описания правки
*<tex>\mathtt{arrayOfElements}</tex> — массив, в котором находятся все элементы множества <tex>C\mathtt{S}</tex>,*<tex>\mathtt{exist}</tex> — такой массив, что если <tex>\mathtt{exist[i] == 1}</tex>, то <tex>\mathtt{i}</tex> элемент присутствует в множестве <tex>\mathtt{S}</tex>,
===Псевдокод===
Для более быстрого решения данной задачи воспользуемся следующим алгоритмом: пусть задан для определенности массив <tex>a</tex> размера <tex>n</tex>, состоящий из <tex>k</tex> единиц и <tex>n - k</tex> нулей. Применим к нему [[Метод генерации случайной перестановки, алгоритм Фишера-Йетса|алгоритм генерации случайной перестановки]]. Тогда все элементы <tex>i</tex>, для которых <tex>a[i] = 1</tex>, включим в сочетание.
*<tex>\mathtt{arrayOfElements}</tex> — массив, в котором находятся все элементы множества <tex>C\mathtt{S}</tex>,*<tex>\mathtt{randomShuffle()}</tex> — функция генерации случайной перестановки.
===Псевдокод===
Анонимный участник

Навигация