Está en la página 1de 8

PROGRAMACION

Kristhian Auquilla
1517 | 5TO

Kristhian Auquilla 1517

ALGORITMOS DE ORDENAMIENTO
Clasificacin de ordenacin
Interna.- cuando los datos son almacenados en vectores, listas enlazadas, tablas o arboles. Externa.- aquellos que estn almacenados en archivos, cintas o dispositivos electrnicos. Ascendente.- cuando se tiene de menor a mayor los elementos de la lista, ya sea alfabticamente o numricamente. Descendente.- cuando se tiene de mayor a menor los elementos de la lista.

ALGORITMOS DE ORDENAMIENTO Burbuja


Llamado tambin de intercambio directo o bubble sort. Es uno de los mas conocidos. Mas sencillo. Mas fcil de implementar.

Kristhian Auquilla 1517

Idea Bsica: Comparar elementos consecutivos en cada paso a lo largo del arreglo. Cada vez que se realiza una comparacin, los elementos se intercambian entre si en caso de no estar en orden. Se le llama de burbuja, porque en la ordenacin los elementos mas ligeros suben en la lista. Se pasa varias veces a travs del arreglo en forma secuencial. Cada paso consiste en la comparacin de cada elemento con su sucesor, y el intercambio de los dos elementos si no estn en el orden correcto. Anlisis de eficiencia.La nica caracterstica redentora de este ordenamiento, es que requiere de poco espacio adicional para guardar el valor temporal para el intercambio y de algunas variables enteras simples. Que es O(n) en el caso de un arreglo ordenado en su totalidad o casi desordenado en su totalidad.

Procedimiento Bubble Sort paso 1: [Inicializa i al final de arreglo] For i <- N down to 1 do paso 2: [Inicia desde la segunda pos.] For j <- 2 to i do paso 4: [Si a[j-1] es mayor que el que le sigue] If a[j-1] < a[j] then paso 5: [Los intercambia] Swap(a, j-1, j). paso 7: [Fin] End.

Kristhian Auquilla 1517 EJEMPLO

Dado un vector a1, a2, a3, ... an 1) Comparar a1 con a2 e intercambiarlos si a1>a2 (o a1<a2) 2) Seguir hasta que todo se haya comparado an-1 con an 3) Repetir el proceso anterior n-1 veces</a

El procedimiento de la burbuja es el siguiente: Ir comparando desde la casilla 0 numero tras nmero hasta encontrar uno mayor, si este es realmente el mayor de todo el vector se llevar hasta la ltima casilla, si no es as, ser reemplazado por uno mayor que l. Este procedimiento seguir as hasta que halla ordenado todas las casillas del vector. Una de las deficiencias del algoritmo es que ya cuando a ordenado parte del vector vuelve a compararlo cuando esto ya no es necesario

Kristhian Auquilla 1517

ALGORITMOS DE ORDENAMIENTO QuickSort


Se le llama de Intercambio por particin. Se define como un proceso recursivo. Se basa en la tcnica divide y vencers Se basa en el mtodo de burbuja

Idea Bsica: Se escoge un elemento a la mitad de la lista, llamado pivote. Se tienen los elementos <= a la izquierda del pivote. Se tienen los elementos >= a la derecha del pivote.

Anlisis de eficiencia Tiene aparente propiedad de trabajar mejor para elementos desordenados completamente, que para elementos semiordenados. En promedio para todos los elementos, el mtodo hace O(nlogn) comparaciones, el cual indica que es eficiente. Para listas grandes consume mas memoria.

Kristhian Auquilla 1517

Se considera el mtodo mas eficiente de los algoritmos. Ejemplo: Tenemos un arreglo que esta definido con los valores {22,40,4,10,12,35} los pasos en quicksort para arreglarlo son los siguientes: 1. se toma como pivote el numero 22 recuerden puede ser cualquier numero.

2. la bsqueda de izquierda a derecha encuentra el valor 40 que es mayor a pivote y la bsqueda de derecha a izquierda encuentra el valor 35 no lo toma porque es mayor a el numero pivote (recuerden que la bsqueda de derecha a izquierda busca los menores) entonces continua y encuentra a 12 que es menor que el pivote y se intercambian el resultado seria {21,12,4,10,40,35}

3. si seguimos la bsqueda la primera encuentra el valor 40, y la segunda el valor 10,pero ya se han cruzado,as que paramos. Para terminar la divisin, se coloca el pivote en su lugar el numero encontrado por la segunda busqueda, el 10 quedando: {10,12,4,22,40,35}

4. ahora tenemos dividido el arreglo en dos arreglos mas pequeos que son {10,12,4} y el {40,35}, y en ellos se repetir el mismo proceso.

Kristhian Auquilla 1517

ALGORITMOS DE ORDENAMIENTO Shell


Versin mejorada de Insercin. Se le conoce como de insercin con decrementos (incrementos decrecientes). Es una generalizacin de insercin tomando en cuenta que: El ordenamiento por insercin es eficiente si la lista esta casi ordenada. El ordenamiento por insercin es ineficiente porque mueve los valores una posicin a la vez. Idea bsica: Compara elementos no contiguos, y separados a una gran distancia. Si los elementos no estn en orden se intercambian. Comienza especificando un salto, comparando elementos separados por dicho salto y se intercambian si es necesario. Se divide el intervalo por dos y se repite el proceso. Al finalizar el recorrido del arreglo, el salto es de uno y la ordenacin funciona como burbuja.

Recorrido 1 2

Salto 3 3

Lista Ordenada 2,1,4,0,3,5,6 0,1,4,2,3,5,6

Intercambio (6,2), (5,4), (6,0) (2,0)

Kristhian Auquilla 1517

3 Ejemplo: Para el arreglo a = [6, 1, 5, 2, 3, 4, 0] Tenemos el siguiente recorrido: 4 5

3 1 1

0,1,4,2,3,5,6 0,1,2,3,4,5,6 0,1,2,3,4,5,6

Ninguno (4,2), (4,3) Ninguno

También podría gustarte