Explicar cómo funciona el ordenamiento de burbujas. ¿Cuál es su complejidad temporal?

La clasificación de burbujas no es uno de los mejores algoritmos de clasificación, pero se usa principalmente para explicar el concepto de algoritmos de clasificación, lo que hace bastante bien.

En la clasificación de burbujas tomamos dos elementos, los comparamos y los ponemos en el orden apropiado. Entonces, por ejemplo, si nuestra burbuja contenía (5, 6) después de aplicar una iteración, nuestra burbuja se vería similar a (6, 5). Ahora veamos un ejemplo de este algoritmo.

Considere la matriz, [5, 1, 6, 3].

En el primer paso tomaremos (5, 1) y los intercambiaremos como 1 es menor que 5. Ahora nuestra matriz se ve así [1, 5, 6, 3]. En el segundo paso no se producirá ningún cambio ya que 5 es menor que 6 (Nota: todavía se realiza una comparación, sin embargo, no se produce ningún cambio). En el tercer paso intercambiaremos 6 y 3 para obtener [1, 5, 3, 6].

Lo que hay que notar sobre Bubble Sort es que después de pasar la matriz una vez que tenemos el elemento máximo al final. Ahora, la próxima vez que ejecutemos el ordenamiento de burbujas en esta matriz, lo ejecutaremos hasta el segundo último elemento. Y, por lo tanto, obtendrá el segundo elemento máximo en el segundo último lugar. Seguiremos haciendo esto hasta que obtengamos el elemento más pequeño en el primer lugar y luego nuestra lista se ordenará.

La complejidad temporal de este algoritmo es O (n ^ 2). En nuestra primera iteración de este algoritmo hacemos comparaciones n-1. En nuestra 2da hacemos n-2 y y en la 3ra n-3. En la última iteración solo realizaremos 1 comparación. Ahora, simplemente calculamos la suma de 1 a n-1, que termina siendo (n (n-1) / 2). Por lo tanto, es O (n ^ 2) .