¿Alguna vez has usado los algoritmos que has aprendido en la universidad?

Si todo el tiempo. Es posible que no tenga que escribirlos desde cero, pero conocer todas las propiedades de los algoritmos que estoy usando me ayuda a tomar decisiones más informadas.

Por ejemplo, cada vez que llamo std :: sort, sé que es un tipo O (nlogn), por lo que puedo predecir su rendimiento en grandes conjuntos de datos, dado su rendimiento en un pequeño conjunto de datos. También sé que generalmente se implementa usando una clasificación introspectiva (combinación de clasificación rápida y clasificación múltiple) y puede garantizar un buen rendimiento en el peor de los casos a diferencia de la clasificación rápida pura, por lo que sé que puedo confiar en él incluso en aplicaciones que necesitan clasificar datos proporcionados por fuentes no confiables (lo cual es peligroso para qsort puro, debido a su peor caso O (n ^ 2) que puede ser potencialmente explotado por una entrada especialmente diseñada). También sé que es un tipo basado en la comparación, y se ha demostrado que O (nlogn) es óptimo para los tipos basados ​​en la comparación, por lo que si descubro que el algoritmo no escala lo suficientemente bien, no necesito perder el tiempo buscando un mejor tipo de comparación. Necesitaré un algoritmo que se base en algo más que comparaciones.

Al final, no he escrito mucho código. Solo “std :: sort (a, a + len);”, pero todas esas cosas pasan por mi cabeza cuando escribo esa línea.

Para otro ejemplo, si tengo una estructura de datos gráficos (por ejemplo, un mapa de red), y estoy tratando de encontrar una manera de pasar por todos los nodos una vez. Sé que tengo 2 opciones: amplitud de la primera búsqueda y profundidad de la primera búsqueda. Sé que BFS usará mucha más memoria, pero no se quedará atrapado en un bucle, y DFS es todo lo contrario. En este caso, conocer esos algoritmos me ahorró mucho tiempo incluso antes de comenzar a escribir código.

Entonces sí, uso algoritmos que aprendí en la universidad todo el tiempo. No significa que realmente los escriba todo el tiempo, pero las ideas de conocerlos me ayudan todo el tiempo.