W tym artykule
Czym jest randomizacja listy?
Randomizacja listy to proces przestawiania elementow w losowej kolejności. Prawidłowe mieszanie produkuje kazda mozliwa permutacje z rownym prawdopodobieństwem.
Randomizacja różni sie od sortowania — sortowanie daje deterministyczny wynik, randomizacja za każdym razem inny.
Jak działa algorytm Fishera-Yatesa
Algorytm Fishera-Yatesa jest standardem do generowania rownomiernie losowych permutacji.
- Zacznij od ostatniego elementu — wybierz losowy indeks od 0 do n-1 i zamien
- Przejdz do przedostatniego — wybierz losowy indeks od 0 do n-2; powtorz
- Każdy element jest dotykany dokładnie raz — algorytm działa w czasie O(n)
Wypróbuj za darmo — bez rejestracji
Zrandomizuj liste →Typowe zastosowania
Randomizacja jest używana w wielu scenariuszach.
- Losowy przydzial — dzielenie uczestnikow na grupy do testow A/B bez uprzedzen
- Losowanie nagrod — mieszanie imion w celu sprawiedliwego wyboru zwyciezcow
- Kolejność pytan egzaminacyjnych — randomizacja w celu zmniejszenia sciagania
- Losowe odtwarzanie — przestawianie piosenek, zadan lub fiszek
Wskazowki i najlepsze praktyki
Uzyskuj uczciwe i powtarzalne wyniki.
- Używaj sprawdzonego algorytmu — Fisher-Yates to zloty standard
- Rozum pseudolosowosc — randomizery przeglądarkowe używają PRNG
- Obsługuj duplikaty świadomie — każdy duplikat jest traktowany jako oddzielny element
Często zadawane pytania
Czy algorytm Fishera-Yatesa jest naprawde uczciwy?
Tak, przy prawidłowej implementacji z rownomiernym zrodlem losowości, produkuje kazda mozliwa permutacje z dokładnie takim samym prawdopodobieństwem.
Czy moge odtworzyc ten sam wynik?
Do odtworzenia potrzebujesz generatora z ziarnem (seed). Większość narzędzi przegladarkowych używa generatorow bez ziarna.
Co sie dzieje z duplikatami?
Duplikaty sa mieszane niezależnie. Algorytm traktuje każdy element według pozycji, nie wartości.