Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mtodos de Ordenamientos
Burbuja (Intercambio):
Definicin: El Ordenamiento de Burbuja (Bubble Sort en ingls) es un
sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de
la lista que va a ser ordenada con el siguiente, intercambindolos de
posicin si estn en el orden equivocado
Algortimo:
int aux;
for(int i=1; i<=A.length; i++) {
for(int j=0; j<A.length-i; j++) {
if( A[j] > A[j+1] ) {
aux = A[j];
A[j] = A[j+1];
A[j+1]= aux;
}
}
}
El procedimiento de la burbuja es el siguiente:
Este procedimiento seguir as hasta que haya ordenado todas las casillas
del vector.
Una de las deficiencias del algoritmo es que ya cuando ha ordenado parte
del vector vuelve a compararlo cuando esto ya no es necesario.
Seleccin (Directa):
Definicin:
El mtodo de ordenacin por seleccin consiste en repetir los siguientes pasos:
Se busca el elemento ms pequeo del array y se coloca en la primera
posicin.
Entre los restantes, se busca el elemento ms pequeo y se coloca en la
segunda posicin.
Entre los restantes se busca el elemento ms pequeo y se coloca en la tercera
posicin.
Este proceso se repite hasta colocar el ltimo elemento.
Algoritmo:
public static void Seleccion(int[]matrix){
int i, j, k, p, buffer, limit = matrix.length-1;
for(k = 0; k < limit; k++){
p = k;
for(i = k+1; i < = limit; i++){
if(matrix[i] < matrix[p]) p = i;
if(p != k){
buffer = matrix[p];
matrix[p] = matrix[k];
matrix[k] = buffer;
}
}
}
}
Insercin (Directa)
Definicin:
La ordenacin por insercin es considera como un algoritmo sencillo, este
algoritmo tiene la caracterstica de mantener ordenadas las regiones sin
ordenar de la matriz. En cada iteracin, el siguiente elemento sin ordenar se
mueve hacia arriba a una apropiada posicin en la regin donde estn
ordenados. Es mucho menos eficiente en grandes listas, que los ms
algoritmos avanzados.
Algoritmo:
public static void Insercion (int[] vector) {
for (int i=1; i < vector.length; i++) {
int aux = vector[i];
int j;
for (j=i-1; j > =0 && vector[j] > aux; j--){
vector[j+1] = vector[j];
}
vector[j+1] = aux;
}