Cómo calcular la productividad de un algoritmo

Hay muchos factores que pueden hacer que un algoritmo sea bueno o malo.

Teóricamente, la productividad de un algoritmo se juzga por varios parámetros, como el tiempo que lleva ejecutar o el espacio que requiere para ejecutar una determinada cantidad de entrada.
Complejidad del tiempo explicada de la mejor manera posible:

Sin embargo, prácticamente, la productividad de un algoritmo depende de la aplicación para la que se utiliza el algoritmo. Un algoritmo con mayor complejidad de tiempo puede funcionar mucho mejor que un algoritmo con menor complejidad de tiempo para algunas tareas específicas.

Déjame intentar explicar esto con un ejemplo
Tomemos dos algoritmos de búsqueda:

  1. Búsqueda lineal: va una por una a cada celda e intenta hacer coincidir el valor, si no tiene éxito, pasa a la siguiente celda, y así sucesivamente
  2. Búsqueda binaria: compara el valor de búsqueda con el elemento central y luego elimina la mitad de la matriz, luego compara nuevamente el valor con el elemento central de la matriz sobrante, y así sucesivamente

Ahora, la complejidad de tiempo de la búsqueda lineal es O (n) donde como la complejidad de tiempo de la búsqueda binaria es O (log n) que es menor que O (n), esto significa que la búsqueda binaria idealmente tomaría menos tiempo para encontrar una coincidencia como en comparación con la búsqueda lineal.

Para entender la notación Big O, puedes ver este increíble video:

Pero considere este caso, en aras de la comprensión, la búsqueda binaria es aplicable solo en elementos ordenados, pero en este caso la matriz no está ordenada, por lo que primero tendríamos que aplicar un algoritmo de clasificación para ordenar los elementos en la matriz, esto será agregar al tiempo de ejecución total del programa, por lo tanto, podemos decir que para una aplicación de este tipo donde los elementos no están ordenados, es mejor usar Liner Search que Binary Search

La productividad de un algoritmo depende de dónde y cómo se puede utilizar de la mejor manera.

No estoy seguro de eso, mira esto:

Eficiencia algorítmica – Wikipedia

Hacia una mayor productividad de la implementación del algoritmo

Hacia una mayor productividad de la implementación del algoritmo

FME 2001: Métodos formales para aumentar la productividad del software

Nueva herramienta promueve colaboración y productividad

Espero que esto ayude.

El tiempo que tarda el algoritmo en ejecutarse y los resultados que brinda se unen para ser su productividad.

Use un generador de perfiles y analice la base de datos.