miércoles, 19 de febrero de 2020

Desordenar un vector numérico

Análisis para realizar un algoritmo: desordenar un vector numérico que se
encuentra ordenado de menor a mayor o viceversa.

1º Caso:
Desordenar 3 elementos que se encuentran ordenados de menor a mayor o viceversa.
Cantidad de permutaciones que se deben realizar para obtener datos desordenados.
DesOrdenar(3) = 3! - 2 = 4
[abc], acb, bac, bca, cab, [cba]
[1,2,3]                             [3,2,1]
Excepto ==> [ ]

Desordenamiento efectivo: cuando todos sus elementos están fuera de su lugar de origen.
Conjunto: bca, cab ==>  2,3,1   ; 3,1,2
                                   m,M,m ; M,m,M

Ejemplo para 12 elementos ordenados y desordenarlos tomando sus elementos en grupos de a 3:
    Ordenados                      ==> 1,2,3,4,5,6,7,8,9,10,11,12
    1º Conjunto Desordenado ==> 2,3,1,5,6,4,8,9,7,11,12,10
    2º Conjunto Desordenado ==> 3,1,2,6,4,5,9,7,8,12,10,11

Ahora proceder a construir el algoritmo teniendo en cuenta al 1º Conjunto Desordenado o al 2º.
Luego de haber realizado dicho algoritmo transformarlo en un programa de computadora
eligiendo algún lenguaje de programación: Ada, Basic, C, C++, Go, Java, Julia,
Modula-3, Oberon-2, Pascal, Perl, PHP, Python, R, REXX, Smalltalk, SQL, Tcl,
Vala y otros más.

2º Caso:
Mezclar los elementos de un vector numérico ordenados de menor a mayor o viceversa.
Aunque no es un requisito necesario que el vector numérico esté ordenado también puede estar desordenado para hacer 'más desorden' en el mismo vector.
Usar el algoritmo "Mezcla de naipes Fisher-Yates".

Referencias:
 ________________\ Eugenio Martínez, Febrero de 2020 /__________________________
Desordenar un vector numérico.

domingo, 16 de febrero de 2020