Este documento describe varios métodos de ordenamiento de datos, incluyendo ordenamiento interno (de arreglos en memoria principal) y ordenamiento externo (de archivos en disco). Entre los métodos internos se encuentran el método de la burbuja, quicksort y shellsort. El método radix ordena datos según la posición de sus dígitos o letras. La ordenación externa utiliza técnicas como divide y vencerás e intercalación de archivos. Los métodos de ordenamiento permiten buscar datos de manera rápida al ordenar colecciones de
2. Unidad 5
métodos de ordenamiento
ordenamiento interno
ordenar significa reagrupar o reorganizar un conjunto de datos u objetos
en una secuencia especifica, la cual puede ser de dos formas distintas:
- ascendente (menor a mayor) o
- descendente (mayor a menor).
la ordenación interna o de arreglos, recibe este nombre ya que los elementos o
componentes del arreglo se encuentran en la memoria principal de la
computadora.
los métodos de ordenación interna a su vez se clasifican en:
- métodos directos (n2) y
- métodos logarítmicos (n * log n).
3. Método burbuja
Es el más simple y consiste en comparar dos elementos adyacentes para determinar si se realiza
un intercambio entre los mismos, esto en caso de que el primero sea mayor que el segundo (forma
ascendente) o el caso de que el primero sea menor que el segundo (forma descendente).
el primer procedimiento del método de la burbuja es:
1-generar un ciclo que inicie desde uno hasta el número de elementos del arreglo.
generar un segundo ciclo dentro del anterior que inicie desde cero hasta el número de elementos
del arreglo menos dos.
2-dentro del segundo ciclo debe existir una comparación que determina el tipo de ordenamiento
(ascendente o descendente) entre el primer elemento (posición generado por el segundo ciclo) y el
segundo elemento (el que le sigue), si la respuesta a la condición es verdadera se realiza un
intercambio entre los dos elementos.
3-para realizar el intercambio se genera un almacenamiento temporal, el cual guarda el dato del
primer elemento, el segundo elemento toma el lugar del primero y en el lugar del segundo se
coloca lo que contiene el almacenamiento temporal.
4. Quicksort
es una técnica basada en otra conocida con el nombre divide y vencerás, que permite ordenar una
cantidad de elementos en un tiempo proporcional a n2 en el peor de los casos o a n log n en el
mejor de los casos. El algoritmo original es recursivo, como la técnica en la que se basa.
La descripción del algoritmo para el método de ordenamiento quicksort es la siguiente:
1-Debe elegir uno de los elementos del arreglo al que llamaremos pivote.
2-Debe acomodar los elementos del arreglo a cada lado del pivote, de manera que del lado izquierdo
queden todos los menores al pivote y del lado derecho los mayores al pivote; considere que en este
momento, el pivote ocupa exactamente el lugar que le corresponderá en el arreglo ordenado.
3-Colocado el pivote en su lugar, el arreglo queda separado en dos subarreglos, uno formado por los
elementos del lado izquierdo del pivote, y otro por los elementos del lado derecho del pivote.
4-Repetir este proceso de forma recursiva para cada subarreglo mientras éstos contengan más de un
elemento. Una vez terminado este proceso todos los elementos estarán ordenados
5. Shellsort
Es una técnica basada en otra conocida con el nombre divide y vencerás, que permite ordenar una
cantidad de elementos en un tiempo proporcional a n2 en el peor de los casos o a n log n en el mejor
de los casos. El algoritmo original es recursivo, como la técnica en la que se basa.
La descripción del algoritmo para el método de ordenamiento quicksort es la siguiente:
1-Debe elegir uno de los elementos del arreglo al que llamaremos pivote.
2-Debe acomodar los elementos del arreglo a cada lado del pivote, de manera que del lado izquierdo
queden todos los menores al pivote y del lado derecho los mayores al pivote; considere que en este
momento, el pivote ocupa exactamente el lugar que le corresponderá en el arreglo ordenado.
3-Colocado el pivote en su lugar, el arreglo queda separado en dos subarreglos, uno formado por los
elementos del lado izquierdo del pivote, y otro por los elementos del lado derecho del pivote.
4-Repetir este proceso de forma recursiva para cada subarreglo mientras éstos contengan más de un
elemento. Una vez terminado este proceso todos los elementos estarán ordenados
6. Radix
El método de ordenación radix es un algoritmo que ordena datos procesando sus elementos de forma
individual, según la posición que ocupan dentro del dato. Los datos numéricos los por dígitos y los datos
alfabéticos por letras.
El método radix se clasifica en dos tipos según el orden en el que procesan los datos:
- De derecha a izquierda y
- De izquierda a derecha.
Si aplicamos este método solo a enteros, el método se clasificaría de la siguiente manera:
- El digito menos significativo (LSD, Least Significat Digit) y
- El digito más significativo (MSD, More Significat Digit).
El radix LSD procesa los enteros iniciando por el digito menos significativo y moviéndose al digito más
significativo (de derecha a izquierda).
El radix MSD procesa los enteros iniciando por el digito más significativo y moviéndose al digito menos
significativo (de izquierda a derecha).
7. Ordenación externa
La ordenación externa o de archivos, recibe este nombre ya que los elementos se encuentran almacenados en un
archivo, el cual se almacena en un dispositivo de almacenamiento secundario o externo.
Los algoritmos de ordenación externa son necesarios cuando los datos que se quiere ordenar no cabe en la memoria
principal (RAM) de la computadora y por tal motivo se encuentran almacenados en un dispositivo secundario externo
(el disco duro, cinta, memoria USB, etc.). La mayoría de estos algoritmos utilizan la técnica de divide y vencerás y la
intercalación de archivos, para aplicar el ordenamiento.
Intercalación
Por intercalación de archivos se entiende la unión o fusión de dos o más archivos, previamente ordenados, en un solo
archivo, el cual debe quedar ordenado al hacer la intercalación.
La intercalación directa o mezcla directa es un algoritmo de ordenación externa, que permite organizar los elementos
de un archivo, de forma ascendente o descendente.
La idea centrar de este algoritmo consiste en realizar de forma sucesiva una partición y una fusión que produce
secuencias ordenadas de longitud cada vez mayor. En la primera pasada la partición es de longitud 1 y la fusión
produce secuencias ordenadas de longitud 2. En la segunda pasada la partición es de longitud 2 y la fusión produce
secuencias ordenadas de longitud 4. Este proceso se repite hasta que la longitud de la partición sea menor o igual al
número de elementos del archivo original.
8. Conclusión
Los métodos de ordenamiento, valga la redundancia, nos permiten ordenar de
manera rápida una colección de datos facilitando la tarea de buscar un dato en
cuanto es requerido, unos ejemplos ya vistos son el método burbuja el cual tiene
función de ordenar los valores de menor a mayor y Quicksort que es el método
mas rápido para ordenar algún valor utilizando pivotes