1. ESTRUCTURAS DE DATOS
UNIDAD 6 METODOS DE ORDENACION INTERNA
Los métodos de ordenación se dividen en 2 categorías:
Ordenación Interna. Es aquella que se realiza totalmente en memoria principal, con gran velocidad y
acceso aleatorio.
Ordenación Externa. Es aquella cuyos datos están soportados por el almacenamiento o memoria
secundaria, esto hace que las operaciones de entrada y salida sean más lentas pero en cambio se
pueden manipular grandes volúmenes de información.
La ordenación interna considera diversos métodos entre los cuales se encuentran los métodos de
intercambio y los métodos de distribución.
Métodos de Intercambio
Entre los principales métodos de intercambio se encuentran los de Burbuja, QuickSort y Shell Sort.
Método de Burbuja
Este método se basa en el principio de comparar pares de elementos adyacentes e intercambiarlos
entre si hasta que se encuentren todos ordenados. El método básicamente consisten en:
o Comparar los elementos de las posiciones 1 y 2 del arreglo y si no están en el orden
requerido se intercambian sus valores.
o Se comparan elementos de la posición 2 y 3 intercambiando si es necesario.
o El proceso continúa hasta que el último elemento ha sido comparado.
Al terminar este proceso el último elemento ya ha sido ordenado por lo que se repita la etapa anterior
hasta el elemento n-1 y así sucesivamente.
Método QuickSort
Este método se basa en el hecho de que es más rápido y fácil de ordenar dos listas pequeñas que una
lista grande. Se usa la típica estrategia “Divide y vencerás”. La lista a clasificar se divide en dos
sablistas , una con todos los valores menores a un cierto valor específico y la otra con todos los valores
mayores a ese valor.
El primer paso es elegir dentro de la lista original un valor específico llamado pivote, y después de un
procedimiento que separe las listas se obtendrá:
• Una sublista con los valores menores o iguales al pivote.
• El elemento de separación que es el pivote.
• Una sublista con los valores mayores al pivote.
Este proceso se debe repetir hasta que ya no sea posible dividir una sublista en dos partes.
En general, el método es recomendable para las listas con un gran volumen de datos.
1
2. ESTRUCTURAS DE DATOS
Método ShellSort
El primer algoritmo que mejoró de forma sustancial la ordenación por inserción fue ShellSort. El
algoritmo de ordenación ShellSort, fue desarrollado en 1959 por Donald Shell.
La idea de Shell fue evitar gran cantidad de movimientos de datos, sin embargo no ordena elementos
adyacentes sino que utiliza una segmentación entre los datos. Esta segmentación puede ser de
cualquier tamaño de acuerdo a una secuencia de valores que empiezan con un valor grande (pero
menor al tamaño total de la estructura) y van disminuyendo hasta llegar al '1', es decir compara
primero elementos que están muy separados , para después comparar elementos más cercanos, y así
sucesivamente reduciendo gradualmente al método de inserción.
Métodos de Distribución
Método Radix
Cualquier tipo de ordenación está basado en algún valor concreto denominado clave de ordenación.
Por ejemplo, un conjunto de nombres puede ordenarse de acuerdo al apellido. El método Radix
también conocido como “Ordenación Raíz”, en lugar de comparar los elementos según la clave de
ordenación se basa en la estructura de esa clave de ordenación. Una forma de implementar el método
es mediante la creación de colas separadas para cada valor posible de cada digito o caracter de la clave
de ordenación. El número de colas o el número de posibles valores se denomina raíz o base.
Por ejemplo, si se ordenaran cadenas de caracteres formados por caracteres alfabéticos en minúsculas,
la raíz seria 27 es decir el número de letras del alfabeto y en ese caso se tendría que utilizar 27 colas,
una para cada posible caracter.
Si se ordenan números decimales, de tres dígitos, entonces la raíz seria de 10 utilizando una cola para
cada uno de los dígitos del cero al nueve (0-9). La ordenación del método Radix hará 3 pasadas a
través del conjunto de valores, una para cada posición del dígito. En la primera pasada se considera el
número menos significativo, es decir las unidades, y se distribuyen en cada cola de acuerdo al dígito
correspondiente.
En la segunda pasada se considera el dígito de las decenas distribuyendo nuevamente en las colas
correspondientes, y en la tercera pasada se considera el dígito de las centenas. Cuando los números se
extraen por última vez de las colas estarán completamente ordenados.
2