La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ORDENACION POR SELECCIÓN DIRECTA

Presentaciones similares


Presentación del tema: "ORDENACION POR SELECCIÓN DIRECTA"— Transcripción de la presentación:

1 ORDENACION POR SELECCIÓN DIRECTA
ESTRUCTURA DE DATOS MAESTRO: MIGUEL ANGEL COHUO AVILA ALUMNA: BEATRIZ ADRIANA CANUL LEON MATRICULA:2776 CARRERA: INGENIERIA EN SISTEMAS COMPUTACIONALES SEMESTRE Y GRUPO : 3A

2 ORDENACION POR SELECCIÓN DIRECTA
Consiste en buscar el menor elemento del arreglo y colocarlo en la primera posición. Luego se busca el segundo elemento mas pequeño del arreglo y se coloca en la segunda posición. El proceso continua hasta que todos los elementos del arreglo han sido ordenados

3 Principios 1.- seleccionar el menor elemento del arreglo.
2.-intercambiar dicho elemento con el primero. 3.-repetir los pasos anteriores con los (n-1), (n-2) elementos y asi sucesivamente hasta que solo quede el elemento mayor.

4 ALGORITMO Selección (A, N) 1. Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si (A [J] < MENOR) entonces Hacer MENOR = A [J] y k = J Fin del condicional(1.1.1) 1.2. Fin del ciclo(1.1) Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo(1)

5 MEJORA AL ALGORITMO Es mucho mas sencillo que el método de inserción binaria, busca de una ves el mas pequeño y lo acomoda en la posición que debe ir.

6 EJEMPLO: 1ERA PASADA 15 67 08 16 44 27 12 35 A= 1.Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si A [J] < MENOR entonces Hacer MENOR = A [J] y k = J Fin del condicional 1.2. Fin del ciclo Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo 15 08 I= N-1=7 MENOR=A[3]=08 K=3 MENOR=A[1]=15 K=1 J= N=8 J= N=8 J= N=8 J= N=8 J= N=8 J= N=8 J= N=8 12<08 08<15 67<15 16<08 27<08 44<08 35<08 A[3]=15 A[1]=08

7 EJEMPLO: 2NDA PASADA A= Selección (A, N)
08 67 15 16 44 27 12 35 A= Selección (A, N) 1. Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si A [J] < MENOR entonces Hacer MENOR = A [J] y k = J Fin del condicional 1.2. Fin del ciclo Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo 67 12 I= N-1=7 MENOR=A[3]=15 K=3 MENOR=A[2]=67 K=2 MENOR=A[7]=12 K=7 J= N=8 J= N=8 J= N=8 J= N=8 J= N=8 J= N=8 12<15 16<15 15<67 27<15 44<15 35<12 A[7]= A[2]=12

8 EJEMPLO: 3ERA PASADA 08 12 15 16 44 27 67 35 A= 1.Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si A [J] < MENOR entonces Hacer MENOR = A [J] y k = J Fin del condicional 1.2. Fin del ciclo Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo I= N-1=7 MENOR=A[3]=15 K=3 J= N=8 J= N=8 J= N=8 J= N=8 J= N=8 35<15 27<15 67<15 16<15 44<15 A[3]=15 A[3]=15

9 EJEMPLO: 4TA PASADA 08 12 15 16 44 27 67 35 A= 1.Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si A [J] < MENOR entonces Hacer MENOR = A [J] y k = J Fin del condicional 1.2. Fin del ciclo Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo I= N-1=7 MENOR=A[4]=16 K=4 J= N=8 J= N=8 J= N=8 J= N=8 44<16 67<16 35<16 27<16 A[4]=16 A[4]=16

10 EJEMPLO: 5NTA PASADA 08 12 15 16 44 27 67 35 A= 1.Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si A [J] < MENOR entonces Hacer MENOR = A [J] y k = J Fin del condicional 1.2. Fin del ciclo Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo 27 44 I= N-1=7 MENOR=A[6]=27 K=6 MENOR=A[5]=44 K=5 J= N=8 J= N=8 J= N=8 27<44 67<27 35<27 A[6]=44 A[5]=27

11 EJEMPLO: 6TA PASADA 08 12 15 16 27 44 35 67 35 A= 1.Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si A [J] < MENOR entonces Hacer MENOR = A [J] y k = J Fin del condicional 1.2. Fin del ciclo Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo 44 I= N-1=7 MENOR=A[8]=35 K=8 MENOR=A[6]=44 K=6 J= N=8 J= N=8 67<44 35<44 A[8]=44 A[6]=35

12 EJEMPLO: 7TimA PASADA 08 12 15 16 27 35 67 44 A= 1.Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si A [J] < MENOR entonces Hacer MENOR = A [J] y k = J Fin del condicional 1.2. Fin del ciclo Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo 44 67 I= N-1=7 MENOR=A[7]=67 K=7 MENOR=A[8]=44 K=8 J= N=8 44<67 A[8]=67 A[7]=44

13 EL ARREGLO HA SIDO ORDENADO
Arreglo A = 08 12 15 16 27 35 44 67 Selección (A, N) 1. Repetir con I desde 1 hasta N-1 Hacer MENOR = A [I] y k = I 1.1.Repetir con J desde I + 1 hasta N Si A [J] < MENOR entonces Hacer MENOR = A [J] y k = J Fin del condicional 1.2. Fin del ciclo Hacer A [k] = A [I] y A [I] = MENOR 2. Fin del ciclo I = N -1 = 7 MENOR = A [8] = k =8 J = 8 hasta N = 8

14 ANALISIS DE LA EFICIENCIA
Es relativamente simple. Se debe considerar que el numero de comparaciones entre los elementos es independiente de la disposición inicial de estos arreglos. En la primera pasada se realizan (n-1) comparaciones, en la segunda pasada (n- 2)comparaciones y así sucesivamente hasta 2 y 1 comparaciones. Es igual: 𝐶= 𝑛−1 + 𝑛−2 +…+2+1= 𝑛∗ 𝑛−1 2 = 𝑛 2 −𝑛 2 Respecto al numero de intercambios, siempre será n- 1. por lo tanto: M=n-1

15 EJERCICIOS si tenemos el array {30,28,37,9,1,34}, ordene las claves del arreglo utilizando el método de selección directa si tenemos el array {3,22,17,39,15,4}, ordene las claves del arreglo utilizando el método de selección directa El siguiente arreglo de números salió en un sorteo {1,29,36,7,24,35}, ordene los números del arreglo utilizando el método de selección directa si tenemos un arreglo {4,8,9,19,1,3}, ordene el arreglo utilizando el método de selección directa si tenemos el los siguientes números {3,5,8,19,35,14}, ordénelos utilizando el método de selección directa

16 CONCLUSIONES No se recomienda cuando el numero de elementos del arreglo es mayor o mediano Simplifica el ordenamiento de datos. Se reduce el numero de comparaciones. Es fácil de programar y de comprender.

17 BIBLIOGRAFIA Estructura de datos 3era edición Osvaldo Cairó


Descargar ppt "ORDENACION POR SELECCIÓN DIRECTA"

Presentaciones similares


Anuncios Google