100 likes | 247 Views
MÉTODOS DE CLASIFICACION DE DATOS (Ordenamientos - sort). QUE SON ORDENAMIENTOS DE DATOS ?. SORT / ORDENACION.- Es reagrupar un grupo de datos en una secuencia especifica de orden (mayor -> menor o menor -> mayor). LA ORDENACION DE ELEMENTOS PUEDE SER:.
E N D
MÉTODOS DE CLASIFICACION DE DATOS (Ordenamientos - sort) EI, Profesor Ramón Castro Liceaga
QUE SON ORDENAMIENTOS DE DATOS ? • SORT / ORDENACION.- • Es reagrupar un grupo de datos en una secuencia especifica de orden • (mayor -> menor o menor -> mayor) EI, Profesor Ramón Castro Liceaga
LA ORDENACION DE ELEMENTOS PUEDE SER: • Ordenación Interna.- En memoria principal (arrays, listas). • Ordenación Externa.- En memoria secundaria. (dispositivos de almacenamiento externo.- archivos y Bases de datos). EI, Profesor Ramón Castro Liceaga
TIPOS DE ORDENACION • Los mas usuales son: • POR INTERCAMBIO (Compara e intercambia elementos.- Burbuja) • POR SELECCIÓN (Selecciona el mas pequeño y lo intercambia) • POR INSERSION (Inserta los elementos en una sublista ordenada) • METODO SHELL (Es una insersión mejorada) • ORDENACION RAPIDA (Quick Sort.- divide una lista en dos partes) EI, Profesor Ramón Castro Liceaga
ALGORITMO DE EJEMPLO DE UN ORDENAMIENTO PROBLEMA: En una Empresa el área de Recursos Humanos requiere ordenar 3 números de empleados obteniendo la siguiente salida. EI, Profesor Ramón Castro Liceaga
POR INTERCAMBIO (Burbuja o bubble sort) • El bubble sort, también conocido como ordenamiento burbuja, funciona de la siguiente manera: • Se va comparando cada elemento del arreglo con el siguiente; si un elemento es mayor que el que le sigue, entonces se intercambian; esto producirá que en el arreglo quede como su último elemento, el más grande. • Este proceso deberá repetirse recorriendo todo el arreglo hasta que no ocurra ningún intercambio. • Los elementos que van quedando ordenados ya no se comparan. "Baja el más pesado". EI, Profesor Ramón Castro Liceaga
EJEMPLO: Ordenamiento por Burbuja o bubble sort Consiste en comparar pares de elementos adyacentes e intercambiarlos entre sí hasta que estén todos ordenados. Sea un array de 6 números de empleados: {40,21,4,9,10,35}: Primera pasada: {21,40,4,9,10,35} <-- Se cambia el 21 por el 40. {21,4,40,9,10,35} <-- Se cambia el 40 por el 4. {21,4,9,40,10,35} <-- Se cambia el 9 por el 40. {21,4,9,10,40,35} <-- Se cambia el 40 por el 10. {21,4,9,10,35,40} <-- Se cambia el 35 por el 40. Segunda pasada: {4,21,9,10,35,40} <-- Se cambia el 21 por el 4. {4,9,21,10,35,40} <-- Se cambia el 9 por el 21. {4,9,10,21,35,40} <-- Se cambia el 21 por el 10. Ya están ordenados, pero para comprobarlo habría que acabar esta segunda comprobación y hacer una tercera. EI, Profesor Ramón Castro Liceaga
// Definimos una función donde A=arreglo y N=tamaño int bubblesort(int A[],int N){ int i,j,AUX; for(i=2;i<=N;i++){ //avanza for(j=N;j>=i;j--){ //retrocede if(A[j-1]>A[j]){ //si a > p intercambio AUX=A[j-1]; A[j-1]=A[j]; A[j]=AUX; } } } return 1; } EI, Profesor Ramón Castro Liceaga
Práctica No. 03 • Hacer un programa que ordene por el método de la burbuja Bubblesort en forma ascendente un vector de 10 números de empleados de una empresa. • Algoritmo: • 1.- Llenar el vector con los 10 números de los empleados • 2.- Mostrar los números a ordenar • 3.- Ordenar el vector por el método bubblesort • 4.- Mostrar el vector ordenado en forma ascendente • Actividades adicionales: • a) hacer un ordenamiento descendete para 30 empleados. • b) Hacer un ordenamiento ascendente para 20 nombres de empleados con 15 caracteres c/u • Tiempo aprox. 15 mts. EI, Profesor Ramón Castro Liceaga
GRACIAS POR TU ATENCION … EI, Profesor Ramón Castro Liceaga