In questo articolo
Cos'e la randomizzazione delle liste?
La randomizzazione delle liste e il processo di riorganizzazione degli elementi in un ordine casuale. Un buon mescolamento produce ogni permutazione possibile con uguale probabilita.
La randomizzazione e diversa dall'ordinamento — l'ordinamento produce un risultato deterministico, la randomizzazione uno diverso ogni volta.
Come funziona l'algoritmo Fisher-Yates
Lo shuffle Fisher-Yates e l'algoritmo standard per generare permutazioni uniformemente casuali.
- Iniziare dall'ultimo elemento — scegliere un indice casuale da 0 a n-1 e scambiare
- Passare al penultimo — scegliere indice casuale da 0 a n-2; ripetere
- Ogni elemento viene toccato esattamente una volta — l'algoritmo gira in tempo O(n)
Prova gratuitamente — nessuna registrazione richiesta
Randomizza una lista →Casi d'uso comuni
La randomizzazione e usata in molti scenari.
- Assegnazione casuale — dividere partecipanti in gruppi per test A/B senza bias
- Estrazioni a premi — mescolare i nomi per scegliere vincitori equamente
- Ordine domande d'esame — randomizzare per ridurre le copiature
- Shuffle playlist — riorganizzare canzoni, compiti o flashcard
Consigli e best practice
Ottieni risultati equi e riproducibili.
- Usa un algoritmo comprovato — Fisher-Yates e il gold standard
- Comprendi la pseudo-casualita — i randomizzatori browser usano PRNG
- Gestisci i duplicati intenzionalmente — ogni duplicato e trattato come elemento separato
Domande frequenti
Lo shuffle Fisher-Yates e veramente equo?
Si, con implementazione corretta e fonte casuale uniforme, produce ogni permutazione possibile con esattamente la stessa probabilita.
Posso riprodurre lo stesso risultato?
Per riprodurre serve un generatore con seed. La maggior parte degli strumenti browser usa generatori senza seed.
Cosa succede con elementi duplicati?
I duplicati vengono mescolati indipendentemente. L'algoritmo tratta ogni elemento per posizione, non per valore.