Clase Ordenamiento
Clase Ordenamiento
Clase Ordenamiento
Objetivos:
Contenidos:
1.
2.
3.
4.
5.
6.
7.
1.
Introduccin.
Mtodos de Ordenacin
Ordenacin por Intercambio
Ordenacin por Insercin
Ordenacin por seleccin
Resumen
Autoevaluacin
Introduccin
Mtodos de ordenamiento
ascendente : A1 A2 A3 . . . AN
descendente : A1 A2 A3 . . . AN
Ordenacin de arreglos
Ordenacin de archivos
3.
Ejemplo
Supngase que deseamos ordenar los siguientes elementos del arreglo A,
transportando en cada pasada le menor elemento hacia la parte izquierda del
arreglo.
A: 15 67
08
44
27
12
35
No hay intercambio
Si hay intercambio
Si hay intercambio
Si hay intercambio
No hay intercambio
Si hay intercambio
Si hay intercambio
67
12
16
44
27
35
No hay intercambio
Si hay intercambio
No hay intercambio
No hay intercambio
Si hay intercambio
Si hay intercambio
08
12
15
67
16
27
44
35
Tercera pasada: 08 12 15 16 67
Cuarta pasada: 08 12 15 16 27
Quinta pasada: 08 12 15 16 27
Sexta pasada
08 12 15 16 27
Sptima pasada: 08 12 15 16 27
27
67
35
35
35
35 44
35 44
44 67
44 67
44 67
Ventajas:
Fcil implementacin.
4.
Muy lento.
Realiza numerosas comparaciones.
Realiza numerosos intercambios.
Ordenacin por insercin (Shaker sort)
08
15
67
12
16
44
27
35
12
16
44
27
35
67
Segunda pasada
Primera etapa ( de derecha a izquierda )
A[6] > A[7]
A[5] > A[6]
A[4] > A[5]
A[3] > A[4]
A[2] > A[3]
No hay intercambio
Si hay intercambio
No hay intercambio
No hay intercambio
Si hay intercambio
15
16
27
44
35
67
No hay intercambio
No hay intercambio
No hay intercambio
Si hay intercambio
A: 08 12
15
16
27
35
44
67
IZQ = 2;
DER = N;
K = N;
REPETIR
Inicio
5.
Ejemplo
Supngase que desea ordenarse los siguientes elementos del arreglo A utilizando
el mtodo de seleccin directa.
A: 15 67
08
16
44
27
12
35
Si se cumple la condicin
No se cumple la condicin
Menor = A[3] (08)
Si se cumple la condicin
Si se cumple la condicin
Si se cumple la condicin
Si se cumple la condicin
Si se cumple la condicin
(08 < 16 )
(08 < 44 )
(08 < 27 )
(08 < 12 )
(08 < 35 )
15
16
44
27
12
35
Obsrvese que el menor elemento del arreglo, A[3] (08), se intercambi con el
primer elemento, A[1] (15), realizando solamente un movimiento.
Segunda pasada
Se realiza la siguiente asignacin Menor = A[2] (67)
(Menor < A[3]) (67 < 15 )
(Menor < A[4])
(Menor < A[5])
(Menor < A[6])
(Menor < A[7])
No se cumple la condicin
Menor = A[3] (15)
Si se cumple la condicin
Si se cumple la condicin
Si se cumple la condicin
No se cumple la condicin
Menor = A[7] (12)
Si se cumple la condicin
(15 < 16 )
(15 < 44 )
(15 < 27 )
(15 < 12 )
15
16
44
27
67
35
(12), se
27
27
44
35
35
67 35
67 35
67 35
67 44
44 67
Ventajas:
Fcil implementacin.
No requiere memoria adicional.
Realiza pocos intercambios.
Rendimiento constante: poca diferencia entre el peor y el mejor caso.
Desventajas:
Lento.
Realiza numerosas comparaciones.
6.
Resumen
Ahora ya conoces una buena cantidad de algoritmos, pero... cmo saber cul es
el que necesitas? cul es el algoritmo?
Cada algoritmo se comporta de modo diferente de acuerdo a la cantidad y la forma
en que se le presenten los datos, entre otras cosas. No existe EL algoritmo de
ordenamiento. Slo existe el mejor para cada caso particular. Debes conocer a
fondo el problema que quieres resolver, y aplicar el ms adecuado. Aunque hay
algunas preguntas que te pueden ayudar a elegir: