У цій статті
Що таке рандомізація списку?
Рандомізація списку — це процес перестановки елементів у випадковому порядку. Правильне перемішування створює кожну можливу перестановку з рівною ймовірністю.
Рандомізація відрізняється від сортування — сортування дає детермінований результат, а рандомізація кожного разу дає інший.
Як працює алгоритм Фішера-Єйтса
Перемішування Фішера-Єйтса — стандартний алгоритм для генерації рівномірно випадкових перестановок.
- Починайте з останнього елемента — виберіть випадковий індекс від 0 до n-1 і поміняйте
- Перейдіть до передостаннього — виберіть випадковий індекс від 0 до n-2; повторіть
- Кожен елемент обробляється рівно один раз — алгоритм працює за час O(n)
Спробуйте безкоштовно — реєстрація не потрібна
Рандомізувати список →Типові випадки використання
Рандомізація використовується в багатьох сценаріях.
- Випадковий розподіл — поділ учасників на групи для A/B тестування без упередження
- Розіграші призів — перемішування імен для чесного вибору переможців
- Порядок запитань на іспиті — рандомізація для зменшення списування
- Перемішування плейлиста — перестановка пісень, завдань чи карток
Поради та найкращі практики
Отримуйте чесні та відтворювані результати.
- Використовуйте перевірений алгоритм — Фішера-Єйтса є золотим стандартом
- Розумійте псевдовипадковість — браузерні рандомізатори використовують ГПВЧ
- Обробляйте дублікати свідомо — кожен дублікат обробляється як окремий елемент
Часті запитання
Чи справді перемішування Фішера-Єйтса чесне?
Так, при правильній реалізації з рівномірним джерелом випадковості кожна можлива перестановка має однакову ймовірність.
Чи можу я відтворити той самий результат?
Для відтворення потрібен генератор з початковим значенням (seed). Більшість браузерних інструментів використовують генератори без seed.
Що відбувається з дублікатами?
Дублікати перемішуються незалежно, як і унікальні елементи. Алгоритм працює з позицією, а не значенням.