Академический Документы
Профессиональный Документы
Культура Документы
Ejercicio # 1
Dado el siguiente vector lineal no ordenado, aplicar el algoritmo interno de ordenamiento por intercambio mayor. A = [9 0 -2 8 1 -5 4 7]
# Pasadas = n - 1 => 7 COMPARACIONES A[1] > A[2] => 9 > 0 A[2] > A[3] => 9 > -2 A[3] > A[4] => 9 > 8 A[4] > A[5] => 9 > 1 A[5] > A[6] => 9 > -5 A[6] > A[7] => 9 > 4 A[7] > A[8] => 9 > 7 A[1] > A[2] => 0 > -2 A[2] > A[3] => 0 > 8 A[3] > A[4] => 8 > 1 A[4] > A[5] => 8 > -5 A[5] > A[6] => 8 > 4 A[6] > A[7] => 8 > 7 A[7] > A[8] => 8 > 9 A[1] > A[2] => -2 > 0 A[2] > A[3] => 0 > 1 A[3] > A[4] => 1 > -5 A[4] > A[5] => 1 > 4 A[5] > A[6] => 4 > 7 A[6] > A[7] => 7 > 8 A[7] > A[8] => 8 > 9 A[1] > A[2] => -2 > 0 A[2] > A[3] => 0 > -5 A[3] > A[4] => 0 > 1 A[4] > A[5] => 1 > 4 A[5] > A[6] => 4 > 7 A[6] > A[7] => 7 > 8 A[7] > A[8] => 8 > 9 DECISION NUEVO VECTOR 0 0 0 0 0 0 0 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 9 -2 -2 -2 -2 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -5 -5 -5 -5 -5 -2 9 8 8 8 8 8 8 8 1 1 1 1 1 1 1 -5 -5 -5 -5 -5 -5 0 0 0 0 0 0 8 8 9 1 1 1 1 1 1 8 -5 -5 -5 -5 -5 -5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 -5 -5 -5 -5 -5 -5 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -5 -5 -5 -5 9 4 4 4 4 4 4 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 4 4 4 4 4 9 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
PASADA # 1
Verdadero Verdadero Verdadero Verdadero Verdadero Verdadero Verdadero
PASADA # 2
Verdadero Falso Verdadero Verdadero Verdadero Verdadero Falso
PASADA # 3
Falso Falso Verdadero Falso Falso Falso Falso
PASADA # 4
Falso Verdadero Falso Falso Falso Falso Falso
PASADA # 5
A[1] > A[2] => -2 > -5 A[2] > A[3] => -2 > 0 A[3] > A[4] => 0 > 1 A[4] > A[5] => 1 > 4 A[5] > A[6] => 4 > 7 A[6] > A[7] => 7 > 8 A[7] > A[8] => 8 > 9 Verdadero Falso Falso Falso Falso Falso Falso -5 -5 -5 -5 -5 -5 -5 -2 -2 -2 -2 -2 -2 -2 0 0 0 0 0 0 0 1 1 1 1 1 1 1 4 4 4 4 4 4 4 7 7 7 7 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 9 9
Al revisar la ultima comparacin podemos ver que el arreglo queda ordenado y el resultado es el siguiente
A = [-5
-2
9]
Ejercicio # 2
Dado el siguiente vector lineal no ordenado, aplicar el algoritmo interno de ordenamiento por intercambio menor. A = [8 9 3 -1 6 1 2]
# Pasadas = n - 1 => 6 COMPARACIONES A[6] > A[7] => 1 > 2 A[5] > A[6] => 6 > 1 A[4] > A[5] => -1 > 1 A[3] > A[4] => 3 > -1 A[2] > A[3] => 9 > -1 A[1] > A[2] => 8 > -1 A[6] > A[7] => 6 > 2 A[5] > A[6] => 1 > 2 A[4] > A[5] => 3 > 1 A[3] > A[4] => 9 > 1 A[2] > A[3] => 8 > 1 A[1] > A[2] => -1 > 1 A[6] > A[7] => 2 > 6 A[5] > A[6] => 3 > 2 A[4] > A[5] => 9 > 2 A[3] > A[4] => 8 > 2 DECISION NUEVO VECTOR 8 8 8 8 8 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 9 9 9 9 -1 8 8 8 8 8 1 1 1 1 1 1 3 3 3 -1 9 9 9 9 9 1 8 8 8 8 8 2 -1 -1 -1 3 3 3 3 3 1 9 9 9 9 9 2 8 6 1 1 1 1 1 1 1 3 3 3 3 3 2 9 9 1 6 6 6 6 6 2 2 2 2 2 2 2 3 3 3 2 2 2 2 2 2 6 6 6 6 6 6 6 6 6 6
PASADA # 1
Falso Verdadero Falso Verdadero Verdadero Verdadero
PASADA # 2
Verdadero Falso Verdadero Verdadero Verdadero Falso
PASADA # 3
Falso Verdadero Verdadero Verdadero
A[2] > A[3] => 1 > 2 A[1] > A[2] => -1 > 1 A[6] > A[7] => 3 > 6 A[5] > A[6] => 9 > 3 A[4] > A[5] => 8 > 3 A[3] > A[4] => 2 > 3 A[2] > A[3] => 1 > 2 A[1] > A[2] => -1 > 1 A[6] > A[7] => 9 > 6 A[5] > A[6] => 8 > 6 A[4] > A[5] => 3 > 6 A[3] > A[4] => 2 > 3 A[2] > A[3] => 1 > 2 A[1] > A[2] => -1 > 1
Falso Falso
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2 2 2
8 8 8 8 3 3 3 3 3 3 3 3 3 3
9 9 9 3 8 8 8 8 8 6 6 6 6 6
3 3 3 9 9 9 9 9 6 8 8 8 8 8
6 6 6 6 6 6 6 6 9 9 9 9 9 9
PASADA # 4
Falso Verdadero Verdadero Falso Falso Falso
PASADA # 5
Verdadero Verdadero Falso Falso Falso Falso
Al revisar la ultima comparacin podemos ver que el arreglo queda ordenado y el resultado es el siguiente
A = [-1
1 2
9]
Ejercicio # 3
Dado el siguiente vector lineal no ordenado, aplicar el algoritmo interno de ordenamiento por insercin. A = [8 4 -7 2 5 -1 9]
# Pasadas = n - 1 => 6
COMPARACIONES A[2] < A[1] => 4 < 8 A[3] < A[2] => -7 < 8 A[2] < A[1] => -7 < 4 A[4] < A[3] => 2 < 8 A[3] < A[2] => 2 < 4
DECISION
NUEVO VECTOR 4 4 -7 -7 -7 8 -7 4 4 2 -7 8 8 2 4 2 2 2 8 8 5 5 5 5 5 -1 -1 -1 -1 -1 9 9 9 9 9
PASADA # 1
Verdadero
PASADA # 2
Verdadero Verdadero
PASADA # 3
Verdadero Verdadero
Falso
-7
-1
PASADA # 4
A[5] < A[4] => 5 < 8 Verdadero -7 2 4 5 8 -1 9 A[4] < A[3] => 5 < 4 Falso -7 2 4 5 8 -1 9 No se siguen verificando las otras comparaciones debido a que los valores de la izquierda ya se encuentran ordenados.
PASADA # 5
A[6] < A[5] => -1 < 8 A[5] < A[4] => -1 < 5 A[4] < A[3] => -1 < 4 A[3] < A[2] => -1 < 2 A[2] < A[1] => -1 < -7 Verdadero Verdadero Verdadero Verdadero Falso -7 -7 -7 -7 -7 2 2 2 -1 -1 4 4 -1 2 2 5 -1 4 4 4 -1 5 5 5 5 8 8 8 8 8 9 9 9 9 9
Al revisar la ultima comparacin podemos ver que el arreglo queda ordenado y el resultado es el siguiente A = [-7 - 1 2 4 5 8 9]
Ejercicio # 4
Dado el siguiente vector lineal no ordenado, aplicar el algoritmo interno de ordenamiento por seleccin. A = [56 80 59 11 17 89 33 63]
# Pasadas = n - 1 => 7 El objetivo del mtodo por seleccin es encontrar el nmero menor de todos y hacer un intercambio. Cuando la condicin es verdadero el valor Menor se mantiene, si la condicin es falsa el valor Menor se cambia. COMPARACIONES DECISION NUEVO VECTOR
Menor A[4] = 11
Verdadero Verdadero Verdadero Verdadero
11 80 59 56 17 89 33
63
Menor A[3] = 59
Falso
Menor A[4] = 56
Falso
Menor A[5] = 17
Menor < A[6] => 17 < 89 Verdadero Menor < A[7] => 17 < 33 Verdadero Menor < A[8] => 17 < 63 Verdadero 11 17 59 56 80 89 33 63 En la segunda pasada el valor Menor se cambio tres veces, por tanto el valor inicial del Menor que era 80 al final se cambia de posicin con el ultimo valor Menor que fue 17. Perdn por la confusin dada en la clase cuando se dio este caso, espero que haya quedado claro.
Menor A[4] = 56
Verdadero Verdadero Falso
Menor A[7] = 33
Menor < A[8] => 33 < 63 Verdadero 11 17 33 56 80 89 59 63 En la tercera pasada el valor Menor se cambio dos veces, por tanto el valor inicial del Menor que era 59 al final se cambia de posicin con el ultimo valor Menor que fue 33.
63
Menor A[7] = 59
Menor < A[8] => 59 < 63 Verdadero 11 17 33 56 59 89 80 63 En la quinta pasada el valor Menor se cambio una vez, por tanto el valor inicial del Menor que era 80 al final se cambia de posicin con el ultimo valor Menor que fue 59.
Menor A[7] = 80
Falso
Menor A[8] = 63
11 17 33 56 59 63 80 89 En la sexta pasada el valor Menor se cambio dos veces, por tanto el valor inicial del Menor que era 89 al final se cambia de posicin con el ultimo valor Menor que fue 63. Al revisar la ultima comparacin podemos ver que el arreglo queda ordenado y el resultado es el siguiente A = [11 17 33 56 59 63 80 89]
Ejercicio # 5
Dado el siguiente vector lineal no ordenado, aplicar el algoritmo interno de ordenamiento por Shell Sort. A = [4 6 7 1 9 5 3 8 2]
El algoritmo indica que debemos ir haciendo ms pequeo nuestro arreglo, y en cada pasada aplicar el mtodo de insercin Dividir el total de elementos entre dos, si el resultado tiene fraccin, se debe tomar el valor entero y hacer saltos con el valor resultante.
Primer Pasada
Salto = 9 / 2 => 4.5 => 4
Como resultado de la primera pasada obtenemos 4 sub arreglos, que quedan conformados de la siguiente forma: A1 = [4 9 2] ; A2 = [6 5]; A3 = [7 3]; A4 = [1 8]
Como se menciono anteriormente, a cada sub arreglo se debe aplicar el mtodo de insercin, la ventaja del mtodo es que se aplica el mtodo a arreglos pequeos. ARREGLO A1 Pasadas = 2 COMPARACIONES DECISION NUEVO VECTOR
PASADA # 1
A[5] < A[1] => 9 < 4 A[9] < A[5] => 2 < 9 A[5] < A[1] => 2 < 4 Arreglo ordenado de A1 = [2 ARREGLO A2 Pasadas = 1 COMPARACIONES A[6] < A[2] => 5 < 6 Arreglo ordenado de A2 = [5 ARREGLO A3 Pasadas = 1 COMPARACIONES A[7] < A[3] => 3 < 7 Arreglo ordenado de A3 = [3 ARREGLO A4 Pasadas = 1 COMPARACIONES A[8] < A[4] => 8 < 1 Arreglo ordenado de A3 = [1 Falso 4 4 2 9] 9 2 4 2 9 9
PASADA # 2
Verdadero Verdadero 4
DECISION
NUEVO VECTOR 5 6
PASADA # 1
Verdadero 6]
DECISION
NUEVO VECTOR 3 7
PASADA # 1
Verdadero 7]
DECISION
NUEVO VECTOR 1 8
PASADA # 1
Falso 8]
Segunda Pasada
Salto = 4 / 2 => 2
A1 = [2
9] ; A2 = [5 7 9]
8];
ARREGLO A1 => [2 3 4 Pasadas = 4 COMPARACIONES A[3] < A[1] => 3 < 2 A[5] < A[3] => 4 < 3 A[3] < A[1] => 4 < 2 A[7] < A[5] => 7 < 4 A[5] < A[3] => 4 < 3 A[3] < A[1] => 3 < 2
DECISION
NUEVO VECTOR 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 7 7 7 7 7 7 9 9 9 9 9 9 9 9 9 9
PASADA # 1
Falso
PASADA # 2
Falso Falso
PASADA # 3
Falso Falso Falso
PASADA # 4
A[9] < A[7] => 9 < 4 Falso 2 3 4 7 A[7] < A[5] => 7 < 4 Falso 2 3 4 7 A[5] < A[3] => 4 < 3 Falso 2 3 4 7 A[3] < A[1] => 3 < 2 Falso 2 3 4 7 De simple vista se pudo observar que el sub arreglo A1 ya estaba ordenado, se realizo el proceso para que quede constancia de como trabajara el algoritmo. Arreglo ordenado de A1 = [2 ARREGLO A2 => [5 1 6 Pasadas = 3 COMPARACIONES A[4] < A[2] => 1 < 5 A[6] < A[4] => 6 < 5 A[4] < A[2] => 5 < 1 3 8] DECISION NUEVO VECTOR 1 1 1 5 5 5 6 6 6 8 8 8 4 7 9]
PASADA # 1
Verdadero
PASADA # 2
Falso Falso
PASADA # 3
A[8] < A[6] => 8 < 6 A[6] < A[4] => 6 < 5 A[4] < A[2] => 5 < 1 Arreglo ordenado de A2 = [1
1 1 1
5 5 5
6 6 6
8 8 8
Tercera Pasada
Salto = 2 / 2 => 1
2
Pasadas = 8
COMPARACIONES A[2] < A[1] => 5 < 2 A[3] < A[2] => 3 < 5 A[2] < A[1] => 3 < 2 A[4] < A[3] => 1 < 5 A[3] < A[2] => 1 < 3 A[2] < A[1] => 1 < 2 A[5] < A[4] => 4 < 5 A[4] < A[3] => 4 < 3
DECISION
NUEVO VECTOR 2 2 2 2 2 1 1 1 5 3 3 3 1 2 2 2 3 5 5 1 3 3 3 3 1 1 1 5 5 5 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9
PASADA # 1
Falso
PASADA # 2
Verdadero Falso
PASADA # 3
Verdadero Verdadero Verdadero
PASADA # 4
Verdadero Falso
Ejercicio # 6
Dado el siguiente vector lineal no ordenado, aplicar el algoritmo interno de ordenamiento por Merge Sort. Lo primero que se debe hacer es dividir el arreglo hasta llegar su nico elemento, luego ordenarlo y por ultimo mezclar los sub arreglos ordenados.
A = [12 12 20 -5
20
-5
0
0
2
13
9
15
13
21]
15 21
12
20
-5
13
15
21
12
20
-5
13
15
21
12
20
-5
13
15
21
12
20
-5
13
15
21
12
20
-5
13
15
21
-5
12
20
13
15
21
-5
12
20
13
15
21
-5
12
13
15
20
21
Para ordenar cada uno de los sub arreglo, se debe tomar el primer elemento de cada uno e ir comparando hasta quedar ordenado los sub arreglo, luego es de mezclar los sub arreglos y repetir el proceso de ordenar.