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].
- Cómo garantizar un resultado devuelto de la función que llamamos (en sí mismo) es correcto en la recursividad
- ¿Cuál es la explicación intuitiva para agregar flujo en bordes inversos en el algoritmo de flujo máximo? ¿Por qué necesitamos eso?
- ¿Por qué hay una necesidad de matrices dinámicas si tenemos matrices de longitud variable?
- ¿Se puede utilizar el algoritmo de red neuronal artificial en un conjunto de datos dinámicos como el clima o el tráfico?
- ¿Qué es un algoritmo de colonia de abejas artificiales y cómo se puede utilizar para la optimización de estructuras de celosía?
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) .