4 Algoritmos Más Comúnmente Preguntados en la Codificación de Entrevistas

Si prefieres seguir mi video de YouTube, puedes verlo aquí! en muchas entrevistas me han pedido que implemente un algoritmo común o que lo implemente como parte de una solución más grande. Los algoritmos típicos que aprendería en una clase de estructuras de datos y algoritmos son muy comunes en la codificación de entrevistas. No entender estos algoritmos podría costarte un trabajo, así que quise compartir algunos algoritmos imprescindibles para la codificación de entrevistas. Si este post es útil, por favor considera suscribirte a mi canal de YouTube o seguirme en el medio para más contenido como este! Si buscas un buen recurso para aprender estos algoritmos, te recomiendo que recojas una copia de Cracking the Coding Interview que repasa todo esto y más en detalle.

Descargo de responsabilidad: Este puesto fue creado en base a mi experiencia en la búsqueda de pasantías y puestos de trabajo de nivel de entrada (nuevo graduado). En cualquier momento si declaro que necesitas conocer un algoritmo, esto significa que deberías ser capaz de entender cómo funciona algorítmicamente (incluyendo la complejidad tiempo/espacio y ser capaz de demostrar tus conocimientos con un ejemplo) y ser capaz de implementarlo en el idioma de tu elección. Además, el enlace a Cracking the Coding Interview on Amazon es un enlace de afiliado y recibiré una comisión si compras algo en Amazon usando mi enlace. Ahora que lo hemos quitado del camino, ¡vamos a la lista!

1. Algoritmos transversales de árboles

Se trata de algoritmos que permiten visitar cada nodo de un árbol en un orden estructurado. Están diseñados principalmente para árboles binarios, pero puede adaptar estos conceptos para visitar todos los nodos de cualquier árbol. Aprender estos algoritmos también le ayudará a entender cómo atravesar recursivamente todos los nodos de un árbol Los tres algoritmos en los que debe centrarse son Pre-Order, In-Order, y Post-Order traversal . Cada uno de ellos difiere en el orden en que visitan los nodos de un árbol. Recomiendo entender el orden en el que visitan los valores en un árbol de búsqueda binario.

2. Algoritmos de búsqueda de gráficos

Funcionan en árboles, gráficos con vértices y bordes, y cualquier codificación de un gráfico. Los algoritmos en esta clase son Profundidad Primera Búsqueda (DFS), Ancho Primera Búsqueda (BFS), y Algoritmo de Dijkstra . Si tiene más tiempo, le recomiendo que aprenda también el algoritmo A* .

3. Algoritmos de búsqueda

Esta es una clase de algoritmos que realmente sólo tiene un algoritmo importante: búsqueda binaria . La búsqueda tradicional es un algoritmo O(n) ya que se visita cada elemento uno a la vez. Si tiene una lista ordenada de entradas, puede aprovechar la búsqueda binaria para un tiempo de ejecución O(log(n)). Se me ha pedido con frecuencia que implemente la búsqueda binaria como parte de mis soluciones para las preguntas de las entrevistas, por lo que recomiendo encarecidamente que conozca ésta.

4. Algoritmos de clasificación

Clasificación de burbujas, clasificación de inserción, clasificación de selección, etc. Todos estos son algoritmos estándar que usted debería entender y ser capaz de implementar, pero estos son O(n²) para los algoritmos de caso promedio. Los algoritmos de ordenación más importantes para las entrevistas son los algoritmos O(n*log(n)). Dos de los algoritmos más comunes en esta clase son merge sort y quick sort . Es importante que conozca al menos uno de estos y preferiblemente ambos. Recomiendo comenzar con el orden de fusión porque tiene una complejidad de O(n*log(n)) en el peor de los casos, mientras que quicksort cae a un O(n²) en el peor de los casos. Espero que esta historia te haya parecido informativa. Si te gustó el post/video, no dudes en suscribirte a mi cuenta de YouTube para obtener más contenido de este tipo. Además, si aún no lo has hecho, asegúrate de coger una copia de Cracking the Coding Interview porque realmente es uno de los mejores recursos para aprender estos algoritmos y empezar a prepararte para codificar entrevistas.

Etiquetas

Entrevista de Ingeniería de SoftwareCodificaciónCodificación de EntrevistasCodificación de EntrevistasCodificación de EntrevistasHistorias de Últimas PruebasIngeniería de SoftwareHackernoon Top Story

Comentarios

Continúe la discusión