Cómo aprender algoritmos y estructuras de datos en un mes para obtener un trabajo bien remunerado

Ningún libro o ningún sitio puede brindarle todo el aprendizaje directamente de una vez. El segundo punto en 1 mes es realmente difícil de aprender DSA por completo y obtener un “trabajo de alto pago”. Aún así, no es inalcanzable. Necesita aprender mucho, como diariamente 5–6 + HR. Déjame guiarte por eso.

  • Primero necesita saber la codificación de nivel normal en Java o C ++ o cualquier lenguaje, y lo que quiero decir cuando el nivel normal significa, debe poder escribir estructura, clase, bucle for / while, declaraciones condicionales y pocos DS simples como Matriz, etc.
  • Ahora comienza lo principal, cuando tiene que comprender todos los DS como Array, Lista enlazada, Pila, Cola, Cola D, Árbol binario, Árbol AVL, BST, Trie, Hashmap, Min / Max-Heap, Matriz 2 D.
    • Lo que quiero decir con entender es que debe comprender la estructura de todos los DS y cómo usarlos, cómo iterarlos, cómo imprimir, insertar, actualizar, eliminar en ellos y crear DS definidos por el usuario y el mismo DS en la biblioteca STL.
  • Ahora se trata de usarlos y crear una nueva solución, comenzar a resolver algunas preguntas de HackerRank o HackerEarth de cada categoría, y crear su propia solución para todas las preguntas, digamos que la pregunta como Vista superior de la solución del árbol binario debería haber sido creada por usted. comprensión del árbol binario o pregunta como toda solución de la solución del algoritmo de intercambio de monedas que debería poder crear si ha entendido correctamente la recursividad y el retroceso.
  • Ahora practique para Codechef, etc., nunca vea una solución directa desde ningún sitio, a menos que esté atascado, vea desde geeksforgeeks o GoHired.
  • Si desea alguna guía para desarrollar la comprensión de DS y Algo, patrones de diseño, etc. o necesita tutoría, puede contactarme en Linkedin

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

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

Los recursos / procedimientos mencionados a continuación son para Técnico / Programación Entrevistas, aplicables a la mayoría de las empresas basadas en productos / Startups tecnológicas (Google y los 4 grandes)

1. Libros: –

  • Cracking The Coding Interview (CtCI) – Compre en línea el libro de entrevistas Cracking the Coding a precios bajos en India
  • Entrevista de programación expuesta (PIE) – Compre entrevistas de programación expuestas: secretos para conseguir su próximo trabajo, libro 3ed (WROX) en línea a precios bajos en India
  • Elementos de entrevistas de programación (EPI) – Compre en línea el libro Elementos de entrevistas de programación a precios bajos en India
  • Estructuras de datos y algoritmos de forma fácil – Compre estructuras de datos y algoritmos de manera fácil: estructuras de datos y rompecabezas de algoritmos Reserve en línea a precios bajos en India

2. Sitios web: –

  • Bit de entrevista – Cursos de InterviewBit – InterviewBit
  • Código Leet – Juez en línea LeetCode
  • Career Cup – Preguntas de la entrevista de programación | CareerCup
  • Geeks para Geeks – GeeksforGeeks | Un portal informático para geeks
  • Hacker Rank – HackerRank
  • Hacker Earth – HackerEarth – Desafíos de programación y trabajo de desarrollador

3. ¿Cómo usar estos recursos?

  • Comience con los libros porque están organizados en perspectiva de entrevista y tienen preguntas selectivas.
  • El número de preguntas no importa (la calidad es más importante que la cantidad)
  • PIE -> CtCI -> EPI
    (Siga el orden. De acuerdo con los niveles de dificultad)
  • Solo haga preguntas fáciles + medias , es decir
    (157 preguntas, 10 / día en 16 días)
  • Utilice estructuras de datos y algoritmos simplificados o Geeks para Geeks como referencia.
  • Luego, para el resto de los días, comience con Interview Bit .
    • En el modo Insano , puedes resolver esto en 30–45 días.
      (Alrededor de 300–350 preguntas)
  • Si quieres más, haz Leet Code .
    • Solo haga preguntas de Editorial + Entrevista .
      (200 – 250 preguntas)

    Nota :

    • No tienes que hacer todos los recursos.
    • Hacer solo libros o sitios web.
  • Si eres un principiante completo, te recomendaría que hagas libros.
    (Por obvias razones)
  • 4. Métodos de programación competitiva ( para entrevistas ): –

    • La respuesta de Siddharth Mahapatra a ¿Cuáles son algunas formas divertidas e interesantes de ser extremadamente bueno en algoritmos y estructuras de datos?

    Concéntrese en las siguientes áreas para obtener un trabajo bien remunerado.

    Algoritmos: Complejidad del tiempo, Complejidad del espacio, Clasificación, Búsqueda, BFS y DFS, Programación dinámica, Recursión, Manipulaciones de bits.

    Estructuras de datos: matriz, lista vinculada, pila, cola, tabla hash, BST, mapa (hash vs árbol), conjunto, trie, gráfico. Aplicaciones y pros y contras de aquellos.

    Matemáticas: permutaciones, combinaciones, medianas, probabilidad, geometría, …

    Codificación: escriba código elegante, correcto y eficiente en 25–45 minutos.

    Resolución de problemas: cómo reducir cualquier problema dado a un problema conocido de Matemáticas o DS o DS + algo dado suficientes pistas.

    Puede tomar el curso a continuación para aprender los temas mencionados anteriormente.

    Descripción del curso-

    ¡Mantenlo práctico! Aprenda en profundidad las estructuras de datos y algoritmos de búsqueda más populares

    Enlace del curso: estructuras de datos prácticas y algoritmos en Java + HW: aprenda en profundidad las estructuras de datos más populares y los algoritmos de búsqueda

    Descripción del curso por instructor

    Si tuviera que elegir el tema más importante en el desarrollo de software, serían las estructuras de datos y los algoritmos. Piense en ello como las herramientas fundamentales disponibles para cada programador de computadoras. Cuanto mejor sea con estas herramientas, más seguro será un programador. El desarrollo de software es un vasto campo que requiere todo tipo de habilidades, pero ser bueno en este único tema es un gran avance en su viaje de programación y ciertamente allanará el camino para una carrera de programación exitosa.

    Los temas de este curso cubrirán estructuras de datos como listas, pilas, colas, árboles y algunos de los algoritmos de clasificación, búsqueda y gráficos más potentes que han revolucionado el campo de la informática. A lo largo del curso mantengo las cosas prácticas y proporciono ejemplos de la vida real de cómo funcionan todos estos algoritmos y cuándo y dónde se pueden aplicar para escribir programas informáticos eficientes.

    Me moveré a un ritmo lento y constante para presentar cada tema seguido de una asignación de programación PRÁCTICA para que pueda aplicar inmediatamente lo que aprendió. Todas las tareas en el curso irán acompañadas de videos de soluciones paso a paso que desmitifican cada problema a medida que codifico las soluciones. Mi objetivo es asegurarme de que, después de completar este curso, se sienta completamente seguro de ir a una entrevista de codificación porque habrá construido una base sólida en la programación de computadoras. Así que adelante e inscríbete y nos vemos en el curso.

    ¿Quién es el público objetivo?

    • Si está harto de cursos centrados en la academia sobre estructuras de datos y algoritmos y desea comprender intuitivamente y prácticamente cómo implementar y los algoritmos y estructuras de datos más populares en software
    • Si no le gustan las matemáticas y quiere aprender estructuras de datos y algoritmos populares a un nivel profundo

    ¿Qué voy a aprender?

    • Gane confianza para codificar entrevistas
    • Aprenda las estructuras de datos y algoritmos más prácticos y populares en profundidad en lugar de un curso apresurado sobre informática
    • Practique la traducción de códigos sudo y la implementación de algoritmos con Asignaciones y Soluciones
    • Obtenga una comprensión intuitiva de cuántos de los algoritmos y estructuras de datos populares se comportan

    Requisitos

    • Los conceptos básicos de la programación, como sentencias if / else, bucles y métodos en algún lenguaje de programación

    Enlace del curso: estructuras de datos prácticas y algoritmos en Java + HW: aprenda en profundidad las estructuras de datos más populares y los algoritmos de búsqueda

    Como eres novato, escuchar es doble para ti. Lo malo es que Algos & DS toma tiempo para dominar, no es posible en un mes o dos, pero aquí está la buena parte, eres bueno en MATHS y Aptitude, que es la verdadera ventaja para ti.

    Aquí hay fuentes altamente recomendadas para revisarlo.

    1. Compre este libro y comience a leer, un muy buen aprendizaje rápido Compre estructuras de datos y algoritmos fáciles en Java: Estructura de datos y libro de acertijos algorítmicos en línea a precios bajos en India
    2. Resuelva todas las preguntas que pueda, comience la sección sabia (Segunda fila del encabezado) y luego la página principal o la empresa objetivo sabia GeeksforGeeks | Un portal informático para geeks
    3. Aprenda Java / Python / C ++ (prefiero Java) como lenguaje orientado a objetos para codificar.

    Hay cientos de otros buenos recursos para aprender, pero creo que estos dos son los mejores para comenzar de nuevo en DS y Algos. Una vez que comience a sentirse cómodo con las preguntas, estará listo para solicitar trabajos bien remunerados a través de DS y Algos (todos los gigantes Amazon, Microsoft, Google, Oracle y muchas empresas medianas y pequeñas lo necesitan)

    En primer lugar, los algoritmos de aprendizaje y las estructuras de datos necesitan más práctica.

    Se trata de aprender los conceptos y aprender cómo aplicar esos conceptos en problemas. La última parte depende de cuánto practiques la programación.

    Puede comenzar con problemas de aprendizaje de GeeksforGeeks | Un portal informático para geeks y comenzar a practicar algunos problemas en eso.

    Entonces puede comenzar con HackerRank y participar en algunos concursos de programación.

    Como ha mencionado sobre la solicitud de empleo, recomendaría las preguntas de la entrevista de codificación.

    Y aparte de esa programación competitiva, varía ligeramente de una entrevista técnica. Necesita una entrevista práctica en vivo para que le vaya bien en las entrevistas técnicas.

    Por lo tanto, recomendaría usar Practice Live Coding Interviews – gratis

    Usando Pramp puedes obtener experiencia en vivo en entrevistas técnicas. Y puede obtener comentarios en vivo de los usuarios.

    Para ver los algoritmos, vaya a las video conferencias de Kevin Wayne – Princeton University | Coursera y Robert Sedgewick – Universidad de Princeton | en Coursera

    Este curso es para 6 semanas de estudio y tomará 6-12 horas / semana, y este curso es de dos partes, por lo que esto tomará el doble de tiempo.

    Y para las estructuras de datos, pruebe las estructuras de datos: YouTube de mycodeschool.

    Después de todo, esta es una tarea muy difícil para aprender tanto los algoritmos como las estructuras de datos

    en un mes.

    Espero que esto te ayudará

    Todo lo mejor…

    Este enlace tiene una larga lista de libros electrónicos gratuitos sobre algoritmos y estructuras de datos.

    Algoritmos y Estructuras de Datos

    No hay nada como una solución rápida para obtener un trabajo bien remunerado desde el principio. Si tiene las habilidades iguales o superiores a las de 2 años de experiencia laboral, y algunos proyectos de trabajo escritos por usted en su USB o sitios web en vivo, puede obtener el trabajo deseado fácilmente

    • No sé si obtendrá un trabajo bien remunerado, pero le aseguro que podrá comprender las estructuras de datos con mucha facilidad.
    • Hay un libro sobre estructuras de datos en lenguaje de programación C Estructuras de datos usando C de Reema Thareja . Compre este libro y estudie de todo corazón.

    ¡¡Todo lo mejor!!

    Usted no Deja de disfrutar de ilusiones y pensamientos mágicos.

    Una ventanilla única para ello es el sitio web geeksforgeeks