|
1
|
- Profesor : Rodrigo Salas
- e-mail : rsalas@inf.utfsm.cl
|
|
2
|
- Definición:
- Son algoritmos que fueron realizados para ordenar un conjunto de datos
de acuerdo a alguna regla o relación de orden. Los algoritmos varían
según su facilidad de entendimiento, su eficiencia, cantidad de código
necesario para implementarlos, complejidad, requisitos necesarios de
los datos.
|
|
3
|
- Existen un gran número de algoritmos de ordenamientos, los cuales pueden
ser clasificados en:
- Internos:
- El tamaño del conjunto de datos es lo suficientemente pequeño para que
sea almacenado en la memoria principal.
- Externos
- El tamaño del conjunto de datos es más grande de lo que puede
almacenar la memoria principal, por lo cual se requiere el uso de
memorias secundarias o adicionales.
|
|
4
|
- Algunos algoritmos de ordenamiento internos son:
- Simples:
- Bubble Sort,
- Insertion Sort,
- Exchange Sort
- Complejos:
- Quick Sort,
- Heap Sort,
- Radix Sort
|
|
5
|
|
|
6
|
|
|
7
|
- El algoritmo consiste en que los elementos más pesados se hundan y los
más livianos salgan a flote.
|
|
8
|
|
|
9
|
- En el i-ésimo recorrido de “inserta” el i-ésimo elemento A[i] en el
lugar correcto entre A[1],...,A[i-1]
|
|
10
|
|
|
11
|
- En el i-ésimo recorrido se selecciona el registro con la clave más
pequeña, entre A[i],...,A[n] y se intercambia con A[i]. Como resultado,
después de i pasadas, los i registros menores ocuparán A[1],...,A[i] en
un cierto orden.
|
|
12
|
|
|
13
|
|
|
14
|
- El algoritmo básico fue inventado en 1960 por C.A.R. Hoare.
- Es un método de ordenamiento basado en el paradigma “divide y
conquista”.
- Particiona un conjunto en dos partes, y luego ordena cada partición de
manera independiente.
- Evaluación del algoritmo:
- En el caso promedio requiere alrededor de N log N operaciones para
ordenar N registros.
- En el peor caso requiere N2 operaciones.
|
|
15
|
|
|
16
|
- La función particion debe reordenar el arreglo de manera tal que se
cumpla las siguientes condiciones:
- El elemento A[i] se encuentra en su último lugar en el arreglo para
algún i.
- Ninguno de los elementos en A[1],...,A[i-1] son mayores que A[i].
- Ninguno de los elementos en A[i+1],...,A[r] es menor que A[i].
|
|
17
|
|
|
18
|
- Evaluación del algoritmo:
- En el caso promedio y peor caso se requiere alrededor de N log N
operaciones para ordenar N registros.
|
|
19
|
|
|
20
|
|
|
21
|
|