Tres cosillas:
Random() o Math.floor() y Math.random()
El motivo de la recomendación de Macromedia no es por la velocidad, es por la "eficiencia". Ambos son evidentemente pseudoaleatorios. Eso quiere decir simplemente que random() es menos aleatorio que Math.random(). Digamos que es posible y al que le interese le paso un trabajillo en mathlab donde se encuentra la pauta random() a partir de multiples miniseries de Poison. De poco sirve una funcion para declarar aleatoriedad que se pueda quemar. Lo que lleva a la segunda cosilla:
Uso del algoritmos de ordenación aleatoria
Aparte de la necesidad de mezclar aleatoriamente una lista o Array en muchísimos juegos de inteligencia Artificial y/o estrategia personalmente no estoy por la labor de que el señor ABAD esté siempre el primero de la lista en detrimento del señor ZUNZUNEGUI
y si no que se lo pregunte a la hora de repartir caramelos en clase.... nunca le llegaban por que el profesor era algo zote en el cálculo de la partición. O a todos esos que colocan nombres para listas con "vete a saber cuantos" ascii bajos para estar de los primeros.
Bromillas aparte en IA son importantísimas. Y en lógica difusa, las básicas
Las 5 de la mañana es muy tarde ......o muy pronto para las neuronas.
El
algoritmo de burbuja aleatoria de orden descendente.
Que así se suele denominar, es realmente rapídisimo.
No coloca a mayores más que la variable aleatoria mas el obligado contador, y aunque en el ejemplo que puse el bucle es de n para mezclar n (es para permitir poner un trace dentro del bucle que muestre
todo el reordenamiento) , ciertamente es de n-1 para mezclar n. Podemos perfectamente poner en el for como condición de parada/continuidad i>1 en lugar de i>0. El último no tiene donde ir salvo quedarse donde está. Ejem: Si de 3 coloco 2 el tercero ya esta el el sitio correcto (el que queda).
A mayores: Podemos ir extrayendo los resultados en cada bucle sin esperar a que termine el ordenamiento!! pues su almacenamiento de orden ya está efectuado. Aunque hay otros que lo tambien lo hacen. Esperamos que Adobe ponga en el proximo AS un sortOn.ALEATORY.
Una curisidad no documentada por ningún sitio y relativo a las salidas sortOn:
Si pedimos la -8 nos da
no los valores de los campos ordenados ascendente como en 16
sino el indice de esos campos en orden ascendente. Y -1 en lugar de 16 | 2 para los indices en orden descendente.