¿Por qué deberíamos conocer más de un algoritmo de clasificación en Python (burbuja, inserción, selección) si todos están haciendo el mismo trabajo?

Bueno, aunque todos los algoritmos finalmente hacen el mismo trabajo, ¡no lo hacen de la misma manera!

Todo radica en el funcionamiento interno. Las complejidades temporales de los algoritmos son diferentes. Lea más sobre la complejidad del tiempo aquí. Big-O Algorithm Complexity Cheat Sheet

Por ejemplo, si desea ordenar una matriz que se parece a esto:

1 2 3 5 4 6 7 0

Solo se deben hacer dos intercambios, mover 0 al primero e intercambiar 4 con 5. La ordenación por inserción lo hace más rápido, ya que moverá directamente 0 a la primera posición, mientras que la ordenación de burbujas tomará más número de intercambios, moviendo 0 gradualmente.

Conclusión: – La ordenación por inserción funciona bien en listas casi ordenadas.

Pero ahora considera la lista

8 7 6 5 4 3 2 1

La clasificación por inserción tomará mucho tiempo, ya que la lista se invierte por completo.

¡Entonces, aprendemos todos los diferentes ‘tipos’ de algoritmos ya que el algoritmo que usa puede cambiar de acuerdo con la matriz de entrada!

Hola hermano, te diré la razón de una manera más precisa. Simplemente vaya a mis blogs en mi sitio web YoungModulus-Blogs & Reviews y vea codingclass3. Bueno, acabo de escribir la razón aquí. Se le pide que elija el sim: uno es un sim de 2g que brinda servicios de Internet ilimitados para siempre Sims de 4g con mucho costo de internet pero servicios de internet increíblemente locos por tiempo limitado. Optarás por 4g sim aunque ambos hagan la misma tarea al final como las llamadas de voz. Internet, etc. Pero optó por la velocidad, amigo mío. Del mismo modo, necesitamos algoritmos que sean más rápidos que el otro. Bueno, debo decirte que el tipo de burbuja es el más lento de los mencionados anteriormente si consideras que no. de operaciones como el intercambio.

Vea que no se trata de ningún lenguaje del que deba hablar, como python, c, c ++, java, etc. Solo el concepto es el mismo y el costo también lo es en todos los idiomas si ejecuta los mismos códigos de algoritmo para la clasificación.

Además, cada clasificación tiene su propio uso. Utilizamos el tipo de fusión en redes más altas debido al concepto que usa pero a costa de la complejidad de espacio que requiere. Usamos la ordenación rápida para clasificar una gran cantidad de matriz, tenga en cuenta el tamaño de la matriz dependiendo de nuestro tamaño de RAM, pero tiene una complejidad de espacio de unidad de tiempo O (1). Usamos la clasificación de radix, contando la clasificación si es posible porque nuestro objetivo principal es lograr la mejor complejidad de tiempo, que en este caso es O (n) y lo peor es O (n ^ 2).

Así que creo que debes tener la razón por la que necesitas saber las clasificaciones.

Diviértete 🙂 Vota si te resulta útil.

Gracias por el A2A.

Solo aprender un algoritmo de clasificación no le dará la ventaja para resolver todos los problemas. La razón es que algunos problemas tardan menos tiempo en resolverse utilizando un algoritmo, mientras que otro problema utilizará un algoritmo diferente. Se trata de encontrar el algoritmo correcto para el problema en cuestión en lugar de los mismos algoritmos para todos los problemas.

Un buen trabajador tiene una amplia gama de herramientas que utiliza para hacer su trabajo de manera eficiente. Esa es la analogía que debes entender. Cada algoritmo de clasificación tiene sus propias fortalezas y puntos débiles que debe conocer antes de usarlos.