Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Losowe sortowanie listy

Wklej listę elementów i losowo potasuj kolejność. Fisher-Yates shuffle. Do losowania kolejności drużyn, pytań quizowych, kolejności prezentacji. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
118 znaków
Ustaw parametry i kliknij „Przetwórz”, aby zobaczyć wynik.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Losowe sortowanie listy – shuffle listy elementów algorytmem Fisher-Yates

Losowe tasowanie (shuffle) listy jest przydatne w wielu sytuacjach: losowanie kolejności drużyn, tasowanie pytań quizowych, randomizacja playlisty, losowanie kto pierwszy prezentuje. Narzędzie używa algorytmu Fisher-Yates (Knuth shuffle) – statystycznie poprawne tasowanie.

losowe sortowanie listy shuffle listy tasowanie kolejności losuj kolejność elementów

Algorytm Fisher-Yates (Knuth shuffle)

Opis: przejdź listę od końca do początku, dla każdego elementu i wylosuj j ∈ [0,i], zamień i z j. Złożoność: O(n). Wynik: każda permutacja jest jednakowo prawdopodobna (uniform distribution). Pseudokod: for i from n-1 down to 1: j = random(0, i); swap(array[i], array[j]). JavaScript: implementacja w 4 linijkach.

Naiwne błędy przy tasowaniu

Błąd: for each item: swap with random other item. Problem: nie daje równomiernego rozkładu! Przykład z 3 elementami: powinno być 6 permutacji z równym prawdopodobieństwem. Naiwny algorytm: niektóre permutacje pojawiają się 2× częściej. Rozwiązanie: zawsze Fisher-Yates lub Sattolo (jeśli chcesz cyclic permutation).

Zastosowania losowego tasowania

Edukacja: losuj kolejność uczniów do odpowiedzi. Gry: tasuj talie kart, pytania quizowe, order of play. Praca: losuj kolejność prezentacji, losuj kto dostaje zadanie. Muzyka: shuffle playlisty. Research: randomizacja grup badanych. A/B testing: randomizacja wariantów. Turnieje: losowanie drabinki.

Tasowanie w różnych językach

JavaScript: array.sort(() => Math.random() - 0.5) – ZŁE! Nie Fisher-Yates. Poprawnie: Fisher-Yates loop. Python: random.shuffle(lista) – wbudowany, poprawny. PHP: shuffle($array) – wbudowany Fisher-Yates. Ruby: array.shuffle. Java: Collections.shuffle(list). SQL: ORDER BY RANDOM() lub NEWID() (MS SQL) – do losowania wierszy.

Najczęstsze pytania

Czy array.sort(Math.random) w JS jest losowy?

NIE – to popularny błąd. Array.sort nie gwarantuje uniform distribution przy losowej funkcji porównującej. Różne silniki JS (V8, SpiderMonkey) dają różne wyniki. Na przykład V8: elementy na początku listy mają wyższe szanse bycia na początku po "shuffle". Zawsze używaj Fisher-Yates dla poprawnego tasowania.

Jak wylosować N elementów z listy bez powtórzeń?

Metoda 1: shuffle Fisher-Yates → weź pierwsze N elementów. Metoda 2: iterate N razy, losuj i usuwaj z puli. Metoda 3: reservoir sampling – dla bardzo dużych list. Python: random.sample(lista, N). JavaScript: shuffle(array).slice(0, N). SQL: SELECT * FROM tabela ORDER BY RANDOM() LIMIT N.

Jak używać narzędzia do losowania kolejności prezentacji?

Wklej imiona (jedno per linia): Ania\nBasia\nKarol\nDarek. Kliknij Shuffle. Wynik: losowa kolejność. Odśwież dla nowego losowania. Możliwość kopiowania wynikowej listy. Opcjonalnie: ponumeruj automatycznie (1. Ania, 2. Karol...).

Seed losowania – jak odtworzyć ten sam wynik?

Seeded PRNG: podaj seed → ta sama sekwencja za każdym razem. Przydatne: gdy chcesz udokumentować losowanie (transparentność). Math.random() w JS: nie seeded, różny przy każdym odświeżeniu. Seeded: seedrandom biblioteka (npm). Python: random.seed(42). Użyj datę losowania jako seed.

Ile możliwych kolejności ma lista N elementów?

N! (silnia N). 5 elementów: 5! = 120. 10 elementów: 10! = 3 628 800. 20 elementów: 20! ≈ 2.43 × 10^18 (astronomiczna liczba). Każda karta w talii 52 kart: 52! ≈ 8×10^67 – więcej niż atomów we wszechświecie. Dlatego każde tasowanie talii kart jest unikalne w historii.

Powiązane narzedzia: losowanie z listy imion, generator losowej liczby i kolo fortuny.

Zobacz też — powiązane narzędzia

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!