En este artículo
Que es la aleatorizacion de listas?
La aleatorizacion de listas es el proceso de reorganizar elementos en un orden aleatorio. Una mezcla correcta produce cada permutacion posible con probabilidad igual.
La aleatorizacion es distinta de la ordenacion — la ordenacion produce un resultado determinista, mientras que la aleatorizacion produce uno diferente cada vez.
Como funciona el algoritmo Fisher-Yates
El algoritmo Fisher-Yates es el estandar para generar permutaciones uniformemente aleatorias.
- Comenzar en el ultimo elemento — elegir un indice aleatorio de 0 a n-1 e intercambiar
- Pasar al penultimo — elegir indice aleatorio de 0 a n-2; repetir
- Cada elemento se toca exactamente una vez — el algoritmo se ejecuta en tiempo O(n)
Pruébalo gratis — sin registro
Aleatorizar una lista →Casos de uso comunes
La aleatorizacion se usa en muchos escenarios.
- Asignacion aleatoria — dividir participantes en grupos para pruebas A/B sin sesgo
- Sorteos de premios — mezclar nombres para elegir ganadores justamente
- Orden de preguntas de examen — aleatorizar para reducir copias
- Mezcla de playlist — reorganizar canciones, tareas o tarjetas
Consejos y mejores practicas
Obtenga resultados justos y reproducibles.
- Use un algoritmo probado — Fisher-Yates es el estandar dorado
- Entienda la pseudo-aleatoriedad — los aleatorizadores de navegador usan PRNG
- Maneje duplicados intencionalmente — cada duplicado se trata como un elemento separado
Preguntas frecuentes
Es realmente justo el algoritmo Fisher-Yates?
Si, cuando se implementa correctamente con una fuente aleatoria uniforme, produce cada permutacion posible con exactamente la misma probabilidad.
Puedo reproducir el mismo resultado de mezcla?
Para reproducir necesita un generador con semilla. La mayoria de herramientas de navegador usan generadores sin semilla.
Que pasa con los elementos duplicados?
Los duplicados se mezclan independientemente. El algoritmo trata cada elemento por su posicion, no por su valor.