Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ORDENAMIENTO
Debido a que las estructuras de datos
son utilizadas para almacenar
información, para poder recuperar esa
información de manera eficiente es
deseable que aquella esté ordenada.
Existen varios métodos para ordenar las
diferentes estructuras de datos básicas.
ORDENAMIENTO DE BURBUJA
La Ordenación de burbuja (Bubble Sort en inglés) es un
sencillo algoritmo de ordenamiento.
Funciona revisando cada elemento de la lista que va a ser ordenada
con el siguiente, intercambiándolos de posición si están en el orden
equivocado.
Es necesario revisar varias veces toda la lista hasta que no se
necesiten más intercambios, lo cual significa que la lista está
ordenada.
Este algoritmo obtiene su nombre de la forma con la que suben por la
lista los elementos durante los intercambios, como si fueran
pequeñas "burbujas". También es conocido como el método del
intercambio directo. Dado que solo usa comparaciones para operar
elementos, se lo considera un algoritmo de comparación, siendo el
más sencillo de implementar.
ORDENAMIENTO BURBUJA BIDIMENCIONAL
(cocktail sort en inglés) es un algoritmo de ordenamiento que surge
como una mejora del algoritmo ordenamiento de burbuja.
0 0
1 1 12
2 12 92 2 25
3 33 3 33 37
4 4 48
5 25 5 57
6 86 12 92 33 25 86 57 37 48 6
7 57 37 7
8 48 8 86
9 9 92
Archivo ordenado: 12 25 33 37 48 57 86 92
Mezcla o Merge Sort
• Fue desarrollado en el año 1945 por Jonh Von Neumann
• Funcionamiento: dividir la lista desordenada en dos
sublistas de aproximadamente la mitad del tamaño.
• Ordenar
cada Sublista recursivamente aplicando el
ordenamiento por mezcla.
• Mezclar las dos sublistas en una sola lista ordenada
EJEMPLO
CUENTAS
• esun es un algoritmo de ordenamiento en el que se cuenta el número
de elementos de cada clase para luego ordenarlos
• consiste en averiguar cuál es el intervalo dentro del que están los datos
a ordenar (valores mínimo y máximo). Después se crea un vector de
números enteros con tantos elementos como valores haya en el
intervalo [mínimo, máximo], y a cada elemento se le da el valor 0 (0
apariciones).
• Trasesto se recorren todos los elementos a ordenar y se cuenta el
número de apariciones de cada elemento Por último, basta con recorrer
este vector para tener todos los elementos ordenados
2,5,3,2,7,5,3,2,2 Mínimo = 2
Máximo = 7
listaValores(0) = 2
vAux(2) = 4 listaValores(1) = 2
vAux(3) = 2 listaValores(2) = 2
vAux(4) = 0 listaValores(3) = 2
listaValores(4) = 3
vAux(5) = 2 listaValores(5) = 3
vAux(6) = 0 listaValores(6) = 5
listaValores(7) = 5
vAux(7) = 1 listaValores(8) = 7
Lista ordenada = 2, 2, 2, 2, 3, 3, 5, 5, 7