Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Consiste en una clasificación de los datos para tener una mejor una implementación de
las búsquedas, existe varios métodos para el tratamiento de las colisiones siendo el
encadenamiento el más eficiente actualmente utilizando listas ligadas. Una de las
principales ventajas de este método es que aumenta la eficiencia de las búsquedas ya que
permite un acceso más directo a los datos.
ORIENTACIONES:
En computación, una ordenación impar-par u ordenación por transposición impar-par (también conocido
como ordenación por ladrillos) es un algoritmo de ordenación relativamente sencillo, desarrollado
originalmente para uso en procesadores paralelos con interconexiones locales. Basa su funcionamiento en
comparaciones; parecido al ordenamiento de burbuja, con el cual comparte muchas características.
Funciona comparando todos los pares (elementos adyacentes) con índices impar/par que se encuentran
en la lista y, si un par está en el orden incorrecto (el primero es más grande que el segundo) los elementos
son reordenados. El próximo paso repite esto para pares adyacentes con índices par/impar que se
encuentran en la lista. De esta forma alterna entre pares (de elementos adyacentes) impar/par y par/impar
hasta que la lista se encuentre ordenada.
Ordenación por mezcla impar-par de Batcher
Un algoritmo parecido pero más eficiente es el de ordenación por mezcla impar-par de Batcher, utilizando
operaciones de comparación e intercambio y operaciones de barajeo-perfecto. El método de Batcher es
eficaz en procesadores paralelos con conexiones de largo rango. 4
Algoritmo
Pase a través del arreglo varias veces.
En el primer paso compare x[i] con x[i+1] para todos los valores de i impar.
En el segundo paso compare x[i] con x[i+1] para todos los valores de i pares.
Cada vez que x[i] > x[i+1] en los dos pasos anteriores intercámbielos.
Continúe en forma alterna hasta que el arreglo este ordenado (es decir, hasta que ya no
hayan intercambios).
while(sorted==0)
{
sorted = 1;
for( i = 1; i < cant-1; i += 2)
{
if(a[i] > a[i+1])
{
temp= a[i];
a[i] = a[i+1];
a[i+1] = temp;
sorted = 0;
}
}