¿Cuáles son las cosas básicas en estructuras de datos y algoritmos que debo saber para las ubicaciones en el campus?

Cuando entrevisto a candidatos del campus, espero que estén familiarizados con al menos los siguientes temas. Familiar a nivel de traducir sus soluciones en código.

Clasificación y búsqueda: comprensión de las compensaciones de varios algoritmos de clasificación y cuál es el más adecuado en qué circunstancias. ¿Por qué la clasificación rápida es prácticamente mejor que la combinación, aunque asintomáticamente es peor? ¿Qué algoritmos son adecuados para ordenar una lista vinculada frente a una matriz? ¿Por qué la clasificación por radix o por conteo son malas elecciones para la clasificación general a pesar de que son asintomáticamente más rápidos que los tipos de comparación? Encontrar el inicio / final de la matriz ordenada rotada de manera eficiente. Encuentre la primera aparición de un elemento en una matriz ordenada que tiene elementos repetidos. Comprensión de la búsqueda en un árbol binario, árbol de búsqueda binaria y árbol de búsqueda binaria balanceada. Encuentre el késimo elemento más pequeño en una matriz y por qué se espera que sea factible en el tiempo O (n).

DS: invierta una lista vinculada individualmente de forma iterativa y recursiva. Recorrido de orden de nivel en árboles y aplicaciones de los mismos. Los problemas recursivos en los árboles, como si los subárboles izquierdo y derecho de un árbol binario son espejos, encuentran un camino con la suma máxima. Encontrar el camino más largo en un árbol binario. BFS y DFS en un gráfico simple: encuentre la ruta más corta de una palabra a otra en un diccionario, de modo que en cada paso cambie una letra de la palabra, encontrando la ruta en un laberinto. Mantener la mediana en una secuencia de números en todo momento. Problemas que se resuelven eficientemente usando una tabla hash.

Paradigmas de resolución de algoritmos – Programación dinámica – Subsecuencia común / creciente más larga y sus aplicaciones, número de formas de hacer las cosas, problemas en diferentes dimensiones – cambio de monedas, corte de vidrio, cajas apilables. Exhaustivas aplicaciones de búsqueda y rastreo: impresión de todas las permutaciones de una cadena, problema de suma de subconjuntos.

Misceláneos – Realización eficiente de operaciones de conjuntos como unión, intersección, diferencia de conjuntos. Procesamiento de cadenas: búsqueda de existencia de subcadenas.

“Estructuras de datos y algoritmos” es el favorito Puede comenzar con la resolución de problemas en estructuras de datos y libros de algoritmos. . tema de entrevista de empresas en

Los enlaces de los libros en Amazon están abajo:

1. Resolución de problemas en estructuras de datos y algoritmos utilizando C

2. Resolución de problemas en estructuras de datos y algoritmos usando C ++

3. Resolución de problemas en estructuras de datos y algoritmos utilizando Java

4. Resolución de problemas en estructuras de datos y algoritmos con C #

5. Resolución de problemas en estructuras de datos y algoritmos usando Python

“Resolución de problemas en estructuras de datos y algoritmos” es una serie de libros sobre el uso de estructuras de datos y algoritmos en la programación de computadoras. El libro es fácil de seguir y está escrito para el punto de vista de preparación de la entrevista . En varios libros, los ejemplos se resuelven en varios lenguajes como C, C ++, Java, C #, Python, VB, JavaScript y PHP.

Composición del libro
Este libro está diseñado para entrevistas, por lo que en el Capítulo 0 se proponen varios planes de preparación. Luego, en los capítulos 1, se explica una breve introducción del lenguaje de programación y el concepto de recursión. Se explican varios problemas basados ​​en recursividad y matriz.

Luego, en el próximo capítulo, analizaremos el análisis de complejidad. Luego analizaremos las técnicas de clasificación y búsqueda.

Luego estudiará las diversas estructuras de datos y sus algoritmos. Buscaremos en una lista vinculada, pila, cola, árboles, montón, tabla hash y gráficos.

Luego, analizaremos el análisis de algoritmos, analizaremos los algoritmos de fuerza bruta, los algoritmos codiciosos, los algoritmos de división y conquista, la programación dinámica y el retroceso.

Al final, analizaremos el diseño del sistema, que proporcionará un enfoque sistemático para resolver los problemas de diseño en una entrevista.

Tabla de contenido
Capítulo 0: Cómo usar este libro.
Capítulo 1: Introducción – Descripción general de la programación
Capítulo 2: Análisis de Algoritmos
Capítulo 3: Enfoque para resolver problemas de diseño de algoritmos
Capítulo 4: Tipo de datos abstractos
Capítulo 5: Búsqueda
Capítulo 6: Clasificación
Capítulo 7: Lista vinculada
Capítulo 8: Pila
Capítulo 9: Cola
Capítulo 10: Árbol
Capítulo 11: Cola prioritaria
Capítulo 12: Hash-Table
Capítulo 13: Gráficos
Capítulo 14: Algoritmos de cadena
Capítulo 15: Técnicas de diseño de algoritmos
Capítulo 16: Algoritmo de fuerza bruta
Capítulo 17: Algoritmo codicioso
Capítulo 18: Divide y vencerás
Capítulo 19: Programación dinámica
Capítulo 20: Retroceso
Capítulo 21: Teoría de la complejidad
Capítulo 22: Estrategia de entrevista
Capítulo 23: Diseño del sistema

olor # 3 :

Nivel 1: aprenda sobre el método maestro, la resolución de recurrencias utilizando la sustitución y el árbol de recurrencia, logaritmo y series fundamentalmente.

Nivel 2: Análisis de Big O, theta y omega con el mejor, el promedio y el peor con todos los mecanismos de clasificación y búsqueda.

Nivel 3: Árbol y lista vinculada con operación CURD.

Nivel 4: Prims y algoritmo kruskal.

No estoy seguro de qué nivel quieres saber, pero estas son las cosas básicas que debes tener antes de enfrentar cualquier entrevista.