Los métodos de ordenamiento son necesarios para que luego de ordenar, se puedan buscar datos de una manera mucho mas rápida y eficiente aplicando distintas técnicas.
MÉTODO DE ORDENAMIENTO POR BURBUJA
Definición
La idea de este
método es ir tomando los
elementos de a dos e ir comparándolos e intercambiándolos de ser necesario,
hasta que todos los elementos sean comparados.
Diagrama de flujo

Algoritmo
for (i=0; i<n-1;
i++)
{ for (j=i+1; j<n; j++) { if(V[i]>V[j]) { aux = V[i]; V[i] = V[j]; V[j] = aux; } } } |
Ventajas
|
Desventajas
|
A) Fácil implementación
|
A) Muy lento
|
B) No requiere memoria adicional.
|
B) Realiza numerosas comparaciones
|
C) Realiza numerosos intercambios.
|
Ejemplo

MÉTODO DE ORDENAMIENTO
POR INSERCIÓN
En este
procedimiento se recurre a una búsqueda binaria en lugar de una búsqueda
secuencial para insertar un elemento en la parte de arriba del arreglo, que ya
se encuentra ordenado. El proceso, al igual que en el método de inserción
directa, se repite desde el segundo hasta el n-enésimo elemento.
Algoritmo
for(i=1; i<n;
i++) {
temp = V[i]; Izq = 0; Der = i-1; while(Izq <= Der){ Medio = (Izq+Der)/2; if (temp < V[Medio]) Der = Medio - 1; else Izq = Medio + 1; } for (j=i-1; j>=Izq; j--){ V[j+1]=V[j]; } V[Izq] = temp; } |
Diagrama De Flujo
![]()
|
MÉTODO DE ORDENAMIENTO
POR SELECCIÓN.
Entre los métodos
elementales de ordenación de vectores se encuentra el algoritmo de selección:
Algoritmo
Es decir, el método
se basa en buscar en cada iteracción el mínimo elemento del “subvector” situado
entre el índice i y el final del vector e intercambiarlo con el de índice i.
Tomando la dimensión del vector n como tamaño del problema es inmediato que el
bucle se repite n veces y por tanto la función que da el número de repeticiones
es de tipo lineal.
Diagrama de flujo
![]()
Análisis del algoritmo.
No obstante,
ya que sólo realiza un intercambio en cada ejecución del ciclo externo, puede
ser una buena opción para listas con registros grandes y claves pequeñas.
MÉTODO DE ORDENAMIENTO
POR SHELL
Denominado
así por su desarrollador Donald Shell (1959), ordena una estructura de una
manera similar a la del Bubble Sort, sin embargo no ordena elementos adyacentes
sino que utiliza una segmentación entre los datos. Esta segmentación puede ser
de cualquier tamaño de acuerdo a una secuencia de valores que empiezan con un
valor grande (pero menor al tamaño total de la estructura) y van disminuyendo
hasta llegar al '1'.
Este método funciona de la siguiente manera:
Algoritmo:
Análisis del algoritmo.
La ordenación
rápida, inventada y nombrada por C.A.R. Hoare en 1960, está considerada como el
mejor algoritmo de ordenación disponible actualmente. Está basada en la ordenación
por el método de intercambio.
La ordenación
rápida se basa en la idea de las particiones. El procedimiento general es
seleccionar un valor llamado COMPARANDO y entonces dividir el array en dos
partes. En un lado todos los elementos mayores o iguales al valor de partición
y en otro todos los elementos menores que el valor. Este proceso se repite en
cada parte restante hasta que el array esté ordenado.
Como se
puede ver, este proceso es esencialmente recursivo por naturaleza y, de hecho,
las implementaciones más claras de la ordenación rápida es por algoritmos
recursivos.
La selección
del valor comparado se puede obtener de dos formas. Se puede seleccionar
aleatoriamente o haciendo la media de un pequeño conjunto de valores tomados
del array. Para una ordenación óptima es mejor seleccionar un valor que este
precisamente en medio del rango de valores. Sin embargo, esto no es fácil de
hacer en la mayoría de los conjuntos de datos. En el caso peor, el valor
escogido está en un extremo. Incluso en este, la ordenación rápida todavía
funciona bien. La versión de la ordenación rápida que sigue selecciona el
elemento mitad del array. Aunque no siempre será una buena elección, la ordenación
sigue funcionando correctamente.
Diagrama de flujo
![]()
Algoritmo:
Análisis
del algoritmo.
Autor: Wilmer Morales
633
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||



No hay comentarios:
Publicar un comentario