Dijkstra, Burbuja, Knapsack… Todos son términos relacionados con algoritmos de programación de algún tipo, pero también son los que surgen más frecuentemente en entrevistas de trabajo como parte de los tests que hay que superar. Que no todo es explicar cuál es tu mayor defecto o qué tal ese nivel de inglés.
En GeeksforGeeks han recopilado una lista con los diez algoritmos más frecuentes en entrevistas de trabajo. De hecho más que diez son 80 porque han listado el «top 10» de ocho temas de programación principales. Pueden servir como repaso antes de ese «momento clave» que es la entrevista – o simplemente para aprender.
Los ocho temas principales incluyen grafos, listas enlazadas, búsqueda, teoría de números, cadenas, matrices y otros. Y para cada uno de ellos se muestran los diez algoritmos más frecuentes – junto con enlaces, explicaciones acerca de por qué y cómo funcionan y normalmente algo de código de ejemplo (normalmente en C, C++, Python, Java, JavaScript o varios de ellos).
En búsquedas por ejemplo lo más habitual por la que se pregunta es algo que se resuelve mediante búsqueda binaria. También puede surgir la necesidad de comprobar la primalidad de un número entero y el Método de Fermat suele ser el más conveniente. Otras preguntas suelen estar relacionadas con las representaciones binarias de un número.
Estos consejos no son una bala de plata que sirva para superar todos los tests aunque ayudar, ayudan. Lo importante, como suele decirse es entender bien las preguntas, preguntarse a cada paso si la solución tiene sentido y hacer otro tanto al terminar. Identificar cuál de los algoritmos es el apropiado para cada problema (o si hay que utilizar otro o ingeniárselas sobre la marcha) es la clave del asunto.