Características.
• Su tiempo de ejecución es O(N2) para el mejor, peor y caso promedio.
• Es el más fácil de codificar de los mostrados en este documento.
• Si el array de datos es A y su tamaño es N, lo que hace el algoritmo, para cada i de
[0..N-2] es intercambiar A[i] con el mínimo elemento del subarray [A[i+1], ...,
A[N]].
• Dado que es muy simple de codificar, aunque no tiene los mejores tiempos de
ejecución, es apropiado utilizarlo para arrays de datos relativamente pequeños.
• Es el más fácil de codificar de los mostrados en este documento.
• Si el array de datos es A y su tamaño es N, lo que hace el algoritmo, para cada i de
[0..N-2] es intercambiar A[i] con el mínimo elemento del subarray [A[i+1], ...,
A[N]].
• Dado que es muy simple de codificar, aunque no tiene los mejores tiempos de
ejecución, es apropiado utilizarlo para arrays de datos relativamente pequeños.
Ejemplo
void intercambiar (Dato * A, int i, int j) { Dato tmp = A[i]; A[i] = A[j]; A[j] = tmp; } void ordenacion_seleccion (Dato * A, int N) { int i, j, k; for (i = 0; i < N - 1; i++) { for (k = i, j = i + 1; j < N; j++) if (A[j] < A[k]) k = j; if (k != i) intercambiar (A, i, k); } }
No hay comentarios:
Publicar un comentario