Todo ingeniero de software conoce el problema de la clasificación . Le explicaré la necesidad de algoritmos que usen este problema.
Hay 2 algoritmos de clasificación bien conocidos:
- Ordenamiento de burbuja
- Ordenar fusión
¿Qué pasará si no conoces buenos algoritmos?
- ¿Cuál es el mejor consejo que le daría a un ingeniero de software que acaba de conseguir un trabajo en una buena compañía?
- ¿Los ingenieros de software necesitan saber codificación?
- ¿Cómo es trabajar como ingeniero de software en SpaceX?
- ¿Es importante el Grado 11 para seguir una gran carrera en ingeniería de software?
- ¿Cómo es trabajar como ingeniero de software de back-end?
Comparemos estos dos algoritmos en términos de no. de iteraciones (N). Es obvio más no. de iteraciones, se requiere más tiempo. Suponga que 1000 números descendentes se ordenarán en orden ascendente.
Para el tipo de burbuja,
- N = [matemáticas] 1000 ^ 2 = 10 ^ 6 [/ matemáticas]
Para el tipo de fusión,
- N = [matemáticas] 1000 * log (1000) = 1000 * 9.97 = 9970 [/ matemáticas]
¡Ves que Merge Sort es más rápido que Bubble sort!
Las aplicaciones del mundo real pueden contener muchos de esos registros para ordenar y un desarrollador que usa Bubble Sort, ya que es ajeno a Merge sort, no es aceptable. ¡Su aplicación se ejecutará muy lentamente! Esta es la razón por la cual los ingenieros de software necesitan conocer algoritmos.
Nota al margen:
Todos los ingenieros de software conocen los tipos de burbuja y de fusión, pero los he usado solo para explicar la importancia de cómo el algoritmo afecta la eficiencia de su aplicación.