Изменения

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

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

790 байт добавлено, 02:34, 27 декабря 2012
Нет описания правки
===Псевдокод===
<code> '''for''' i = 1 '''to''' n '''if''' i <= k a[i] = 1; '''else''' a[i] = 0; random_shuffle(a); '''for''' i = 1 '''to''' n '''if''' a[i] == 1 insertInAnswer(i);</code>
===Доказательство корректности алгоритма===
===Оценка временной сложности===
Заметим, что алгоритм состоит из 2 невложенных циклов по <tex>n</tex> итераций каждый и функции генерации случайной перестановки <tex>random_shuffle()</tex>, работающей за <tex>O(n)</tex> по алгоритму [[Метод генерации случайной перестановки, алгоритм Фишера-Йетса|Фишера Йетца]]. Следовательно, временная сложность и всего алгоритма <tex>O(n)</tex>
== См. также ==
34
правки

Навигация