Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe: Portada
Informe: Portada
PORTADA
CARRERA DE COMPUTACIÓN
INFORME
TEMA:
ALGORITMOS DE ORDENAMIENTO
AUTOR:
JESÚS A. GARCÍA MERA
FACILITADOR:
Dr. JORGE PÁRRAGA ÁLAVA
CONTENIDO
PORTADA ....................................................................................................................................... 1
CONTENIDO ................................................................................................................................... 2
CONTENIDO DE IMÁGENES ........................................................................................................... 3
CONTENIDO DE ILUSTRACIONES ................................................................................................... 3
1. ALGORITMOS DE ORDENAMIENTOS ..................................................................................... 4
1.1 ORDENAMIENTO DE BURBUJA ...................................................................................... 4
1.1.1 DESCRIPCIÓN DEL ALGORITMO ............................................................................. 4
1.1.2 IMPLEMENTACIÓN DEL OREDENAMIENTO BURBUJA........................................... 5
1.1.3 ORDEN DE COMPLEJIDAD DEL ORDENAMIENTO DE BURBUJA............................. 5
1.2 ORDENAMIENTO POR SELECCIÓN................................................................................. 6
1.2.1 DESCRIPCIÓN DEL ALGORITMO ............................................................................. 7
1.2.2 IMPLEMENTACIÓN DEL ORDENAMIENTO POR SELECCIÓN .................................. 8
1.2.3 ORDEN DE COMPLEJIDAD DEL ORDENAMIENTO POR SELECCIÓN ....................... 9
1.3 ORDENAMIENTO POR INSERCIÓN............................................................................... 10
1.3.1 DESCRIPCIÓN DEL ALGORITMO ........................................................................... 10
1.3.2 IMPLEMENTACIÓN DE ORDENAMIENTO POR INSERCIÓN .................................. 12
1.3.3 ORDEN DE COMPLEJIDAD DEL ORDENAMIENTO POR INSERCIÓN ..................... 13
1.4 ORDENAMIENTO POR QUICKSORT ............................................................................. 14
1.4.1 DESCRIPCIÓN DEL ALGORITMO ........................................................................... 14
1.4.2 IMPLEMENTACIÓN DEL ORDENAMIENTO POR QUICKSORT ............................... 16
1.4.3 ORDEN DE COMPLEJIDAD DEL ORDENAMIENTO POR QUICKSORT .................... 16
1.5 ORDENAMIENTO DE MERGESORT .............................................................................. 17
1.5.1 DESCRIPCIÓN DEL ALGORITMO ........................................................................... 17
1.5.2 IMPLEMENTACIÓN DE ORDENAMIENTO MERGESORT. ...................................... 19
1.5.3 ORDEN DE COMPLEJIDAD DEL ORDENAMIENTO DE MERGESORT ..................... 20
1.6 ANÁLISIS DE LA EFICIENCIA DE LOS ALGORITMOS DE ORDENAMIENTO .................... 20
1.6.1 MEJOR CASO DE LOS ALGORITMOS DE ORDENAMIENTO .................................. 21
1.6.2 PEOR CASO DE LOS ALGORITMOS DE ORDENAMIENTOS ................................... 21
1.6.3 CASO PROMEDIO DE LOS ALGORITMOS DE ORDENAMIENTOS .......................... 22
2. CONCLUCIONES ................................................................................................................... 24
3
CONTENIDO DE TABLAS
CONTENIDO DE IMÁGENES
CONTENIDO DE ILUSTRACIONES
1. ALGORITMOS DE ORDENAMIENTOS
12 8 4 15 1 5 Hay cambio
8 12 4 15 1 5 Hay cambio
8 4 12 15 1 5 No hay cambio
8 4 12 15 1 5 Hay cambio
8 4 12 1 15 5 Hay cambio
8 4 12 1 5 15 El 15 ya está en su posición
5
Las sucesivas operaciones en cada uno de los pasos necesarios hasta obtener
la clasificación final se muestran a continuación:
Vector
12 8 4 15 1 5
desordenado
iteración 1 8 4 12 1 5 15
iteración 2 4 8 1 5 12 15
Iteración 3 4 1 5 8 12 15
Iteración 4 1 4 5 8 12 15
Clasificación final 1 4 5 8 12 15
Inverso de las
Iteraciones Comparaciones comparaciones
1 n-1 1
2 n-2 2
3 n-3 3
… … ..
n-1 1 n-1
𝑛
𝑛(𝑛 + 1)
∑=
2
1
𝑛−1
(𝑛 − 1)[(𝑛 − 1) + 1] 𝑛2 − 𝑛
∑= =
2 2
1
𝑂(𝑛2 )
16 19 11 15 10 12 14
16 19 11 15 10 12 14
10 19 11 15 16 12 14
10 19 11 15 16 12 14
10 11 19 15 16 12 14
Tercera iteración
10 11 19 15 16 12 14
10 11 12 15 16 19 14
Cuarta iteración
10 11 12 15 16 19 14
10 11 12 14 16 19 15
Quinta iteración
10 11 12 14 16 19 15
10 11 12 14 15 19 16
8
Sexta iteración
10 11 12 14 15 19 16
10 11 12 14 15 16 19
Resultado
10 11 12 14 15 16 19
Inverso de las
Iteración Comparaciones Comparaciones
1 n-1 1
2 n-2 2
3 n-3 3
….. … …
n-1 1 n-1
Ahora para encontrar el número total de comparaciones hay que sumar los
primeros n-1 enteros. Recuerde que la suma de los primeros números enteros
es:
𝑛
𝑛(𝑛 + 1)
∑=
2
1
𝑛−1
(𝑛 − 1)[(𝑛 − 1) + 1] 𝑛2 − 𝑛
∑= =
2 2
1
𝑂(𝑛2 )
10
5 3 4 1 2
5 3 4 1 2
5 3 4 1 2
11
3 5 4 1 2
3 5 4 1 2
Otra vez hacemos la comparación, ¿5 es mayor a 4?, lo es, por lo tanto, hay
cambio.
3 4 5 1 2
3 4 5 1 2
3 4 1 5 2
3 1 4 5 2
Y ahora ¿3 es mayor que 1?, lo es, por lo tanto, hay cambio, y ahora como ya
está en la primera posición del vector no es necesario hacer la comparación y
avanza la flecha.
12
1 3 4 5 2
1 3 4 5 2
1 2 3 4 5
2 1 2
3 1 3
….. … …
Como en los ordenamientos anteriores la suma de los primeros n-1 entero es:
𝑛−1
𝑛(𝑛 − 1)
∑=
2
1
𝑛−1
𝑛(𝑛 − 1) 2(𝑛 − 1) + (𝑛 − 1)𝑛
∑= + (𝑛 − 1) =
2 2
1
2𝑛 − 2 + 𝑛2 − 𝑛
2
14
Por lo tanto, el orden de complejidad en notación big-O del ordenamiento por inserción
es de:
𝑂(𝑛2 )
8 3 6 4 2 5 7 1
1 3 2 4 6 5 7 8
1 2 3 5 6 7 8
1 2 6 7 8
1 2 6 7 8
6 8
1 2 3 4 5 6 7 8
Si se elige como pivote el primer elemento del vector y además se considera que
el vector esta ordenado decrecientemente entonces, el bucle para cada
elemento se ejecutará en total:
(n − 1) + (n − 2) + (n − 3)+. . . . +1
𝑛−1
[(𝑛 − 1) + 1](𝑛 − 1) 𝑛2 − 𝑛
∑= =
2 2
1
𝑂(𝑛2 )
8 3 6 4 2 5 7 1
Se realizarán dos fases para obtener el vector ordenado, la primera será dividir
todo el vector, ya la segunda será ordenar todo el vector.
Fase 1: dividir
18
8 3 6 4 2 5 7 1
8 3 6 4 2 5 7 1
8 3 6 4 2 5 7 1
8 3 6 4 2 5 7 1
Fase 2: ordenar
8 3 6 4 2 5 7 1
3 8 4 6 2 5 1 7
3 4 6 8 1 2 5 7
1 2 3 4 5 6 7 8
19
Fuente: Autor
20
𝑛
𝑏𝑎𝑗𝑎𝑟𝑎 𝑘 𝑛𝑖𝑣𝑒𝑙𝑒𝑠 → → 𝑛 = 2𝑘
2𝑘
(𝑛 − 1) ∗ ( log 2 𝑛)
O(n ∗ log 𝑛)
2. CONCLUCIONES