Algoritmos de ordenamiento Algoritmos simples: Burbuja Por selección Por inserción
Características: De fácil comprensión Su uso puede ser preferible en archivos con poca
información o casi ordenados Poco «sofisticados» Comparativamente lentos Estructura y Organización de Datos
2
Algoritmos de ordenamiento: SIMPLES Los tres algoritmos tratados a continuación
conllevan 2 pasos, que son ejecutados una y otra vez hasta que los datos quedan ordenados: 1. Comparar dos elementos. 2. Intercambiar dos elementos o copiar uno de
ellos. Estructura y Organización de Datos
3
SIMPLES /Burbuja public void bubbleSort() { int out, in; for(out=nElems‐1; out>1; out‐‐) for(in=0; in a[in+1] ) swap(in, in+1); } Estructura y Organización de Datos
4
SIMPLES /Burbuja La idea es poner el elemento más pequeño al
principio del arreglo (índice cero) y el más grande al final (índice nElems‐1). Los elementos en índices mayores que se encuentran ordenados. La variable se mueve hacia la izquierda para cada pasada de de modo que los elementos que ya están ordenados no participan más en el proceso. Estructura y Organización de Datos
5
SIMPLES /Selección El ordenamiento por selección mejora al de
burbuja reduciendo el (swaps) necesarios de O(N2) to O(N). Desafortunadamente el permanece en O(N2). Sin embargo, este algoritmo aún ofrece una mejora significativa para grandes registros que deben ser movidos físicamente en memoria, causando que el tiempo de intercambio sea mucho más importante que el tiempo de comparaciones. (Este no es el caso en Java, donde las referencias se mueven, no los objetos.) Estructura y Organización de Datos
6
SIMPLES /Selección public void selectionSort() { int out, in, min; for(out=0; out
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.