Ordenamiento de burbuja bidireccional – Algoritmos de ordenamiento

El algoritmo de ordenamiento de burbuja bidireccional también llamado ordenamiento cocktail intenta mejorar el rendimiento del ordenamiento burbuja realizando el recorrido de comparación en ambas direcciones, de esta manera  se puede realizar más de un intercambio por iteración.

De la misma manera que el algoritmo de burbuja no se utiliza excepto para motivos pedagógicos por su falta de eficiencia pero sencillez de aplicación.

Estabilidad: Estable

Método: Intercambio

Comparativo: Si

Uso de memoria: 1

Complejidad computacional:

Mejor caso: on

Caso promedio: n2

Peor caso: n2

Ordenamiento de burbuja bidireccional

Comenzamos con una lista de elementos no ordenados

Ordenamiento de burbuja bidireccional

 

Tomamos  los primeros dos números y si no están ordenados se intercambian los lugares

 

Ordenamiento de burbuja bidireccional

 

El proceso continua hasta llegar al final

 

Ordenamiento de burbuja bidireccional Ordenamiento de burbuja bidireccional Ordenamiento de burbuja bidireccional

 

Al llegar al final a diferencia del ordenamiento de burbuja se repite el proceso en sentido inverso comenzando por el final de la lista hasta llegar al inicio.

 

Ordenamiento de burbuja bidireccional Ordenamiento de burbuja bidireccional Ordenamiento de burbuja bidireccional

 

Al terminar el proceso el último número y el primero ya quedan ordenados por lo que en la siguiente iteración ya no se evalúan acortando el proceso.

 

Ordenamiento de burbuja bidireccional Ordenamiento de burbuja bidireccional Ordenamiento de burbuja bidireccional

 

Al finalizar la segunda iteración se marcan como ordenados el primer y último número comparado.

No es posible realizar más iteraciones ya que no quedan dos números sin ordenar para comparar, por lo tanto el algoritmo termina.

Ordenamiento de burbuja bidireccional

 

 

Código en C

 

Código en PHP

Espero que les sirva!