Изменения

Перейти к: навигация, поиск
очепятка
for i = 1 to n
j = <tex>\mathrm{random(1..i)}</tex>
<tex>\mathrm{swap(a[i], a[j])}</tex>
return a
 
==Обоснование==
Проведем доказательство по индукции. Всего перестановок <tex> n! </tex>, поэтому вероятность каждой из них должна быть равна <tex> \frac {1}{n!}</tex>. Показажем, что на каждом i-ом шаге цикла любая перестановка из первых <tex>i</tex> элементов равновероятна.
Анонимный участник

Навигация