You are on page 1of 20

Unidad V

Métodos de Ordenamiento

5.1 Algoritmos de ordenamientos internos.

Se lleva a cabo completamente en memoria principal.
Todos los objetos que se ordenan caben en la memoria principal de la
computadora.

1. • Utilizaun proceso repetitivo comparando las parejas de datos adyacentes del inicio al final del arreglo donde. después de la primer pasada la llave mayor queda en la última posición del arreglo. . 5.1Burbuja (Bubble) • Este método realiza comparaciones de todas las posibles parejas de llaves intercambiando aquellas que se encuentran fuera de orden.

j variables para los índices .Variables • n es el total de elementos • K arreglo de llaves • t variable auxiliar para el intercambio • i.

1. • El arreglo queda separado en dos subarreglos • Se repite el proceso con los subarreglos resultantes • El arreglo esta ordenado . los mayores atrás. 5.2 Quicksort Este arreglo requiere de las siguientes descripciones: • Se elige un pivote. • Se reubican los elementos respecto al pivote los menores antes.

quicksort(mayores)) . arrPivotes. Quicksort • quicksort(q) • variables arreglos menores. arrPivotes. mayores • si la longitud de q es menor o igual que 1 • devolver q • sino • seleccionar un pivote de q • para cada elemento en q excepto el pivote • si el elemento < pivote entonces agregarlo al arreglo menores • si el elemento ≥ pivote entones agregarlo al arreglo mayores • agregar el pivote al arrPivotes • devolver unir(quicksort(menores).

el método funciona como el de inserción directa. 5.3Shell sort • El método shell divide el arreglo a ordenar en varios grupos haciendo comparaciones e intercambios entre ellos. A partir de este punto. . • El tamaño de los subgrupos así como el total de estos puede determinarlos el usuario para hacer mas eficiente el algoritmo.1. El tamaño de los subgrupos se disminuye y el número de subgrupos se incrementa hasta llegar a tener n grupos de tamaño 1.

Shell sort Variables • K arreglo de datos a ordenar • H tamaño del grupo • i. j índices para el arreglo • V variable auxiliar • N número de elementos • grupo arreglo con los tamaños de grupo .

inicia con el dígito más a la derecha repartiendo los datos en “canastas”. Cada llave debe ser una cadena o un número capaz de ser ordenada alfanuméricamente. • Este método ejecuta un número de repeticiones igual al número de caracteres de las llaves a ordenar. 5. El Radix Directo.1.4 Radix • Radix Sort (ordenamiento Radix) es un algoritmo de ordenamiento estable* para ordenar elementos identificados por llaves (o claves) únicas. . estos datos se reparten de nuevo de acuerdo al siguiente dígito y así sucesivamente hasta terminar con el dígito de mas a la izquierda.

329 248 123 423 226 825 132 335 231 432 256 218 231 132 123 825 226 248 329 Distribución y reacomodo 432 423 335 256 218 Digito derecho 231 132 432 123 423 825 335 226 256 248 218 329 218 123 231 248 256 Radix 423 132 Distribución y reacomodo 825 432 Digito central 226 335 329 218 123 423 825 226 329 231 132 432 335 248 256 .

218 123 423 825 226 329 231 132 432 335 248 256 123 218 329 423 825 132 226 335 432 Distribución y 231 reacomodo Digito izquierdo 248 256 123 132 218 226 231 248 256 329 335 423 432 825 .

No cabe toda la información en memoria principal y es necesario ocupar memoria secundaria. El ordenamiento externo. El ordenamiento ocurre transfiriendo bloques de información a memoria principal en donde se ordena el bloque y este es regresado. a memoria secundaria .2 Algoritmos de ordenamientos externos. 5. ya ordenado.

algunos métodos dividen un archivo en dos partes para aplicar la mezcla. Mezcla de archivos Mezclar significa combinar dos o mas archivos ordenados en un archivo simple. Existen algunos tipos de mezcla: o Por intercalación o Mezcla directa o Mezcla natural o equilibrada .

.2. el menor es almacenando en el archivo de resultado y el otro se compara con el siguiente elemento del archivo si existe.1 Intercalación • En este método de ordenamiento existen dos archivos con llaves ordenadas. • El proceso consiste en leer un registro de cada archivo y compararlos. • La longitud de los archivos puede ser diferente. los cuales se mezclan para formar un solo archivo. El proceso se repite hasta que alguno de los archivos quede vacío y los elementos del otro archivo se almacenan directamente en el archivo resultado. 5.

Intercalación Archivo A 503 573 581 625 670 762 Archivo B 087 512 677 694 Archivo resultado 087 503 512 573 581 625 670 677 694 762 .

• En la primera pasada la partición es de 1 y la fusión produce secuencias de longitud 2. . Las particiones y las fusiones doblan su tamaño en cada pasada del procesamiento hasta lograr una partición del tamaño del archivo. 5.2.2Mezcla Directa • Este método de ordenamiento realiza sucesivamente una partición y una fusión que produce secuencias ordenadas de longitud cada vez mayor.

Mezcla directa 09 75 14 68 29 17 31 25 04 05 13 18 72 46 61 Partición 09 14 29 31 04 13 72 61 75 68 17 25 05 18 46 Fusión 09 75 14 68 17 29 25 31 04 05 13 18 46 72 61 Partición 09 75 17 29 04 05 46 72 14 68 25 31 13 18 61 .

• La diferencia es que las particiones se realizan en secuencias ordenadas de tamaño variable en lugar de secuencias de tamaño fijo.2. . 5. El proceso termina cuando el segundo archivo queda vacío en el proceso de fusión-partición. es una optimización del método de mezcla directa.3Mezcla natural • Este método. La fusión de las secuencias ordenadas se realiza en dos archivos. conocido también como mezcla equilibrada.

Mezcla Natural F 09 75 14 68 29 17 31 25 04 05 13 18 72 46 61 Partición inicial F2 09 75 29 25 46 61 F3 14 68 17 31 04 05 13 18 72 Primera fusión-partición F 09 14 68 75 04 05 13 18 25 46 61 72 F1 17 29 31 .

Segunda fusión-partición F 09 14 17 29 31 68 75 F1 04 05 13 18 25 46 61 72 Tercera fusión-partición F2 04 05 09 13 14 17 18 25 29 31 46 61 68 72 75 F3 Archivo vacío .