¿Qué libro es el mejor para aprender estructuras de datos?

Yo diría que ” resolver ” en sí mismo puede acelerar su rendimiento, pero en caso de que necesite obtener un curso o leer un libro:

  • CLRS: Introducción a los algoritmos es imprescindible: Amazon Link
  • Cursos MIT OCW: 6.006 es una clase de algoritmos introductorios: Introducción a los algoritmos; hay una colección de videos de la clase en YouTube del otoño de 2011: MIT 6.006 Introducción a los algoritmos, otoño de 2011
  • 6.046 es una clase de algoritmos teóricos más avanzada: Diseño y Análisis de Algoritmos. Desafortunadamente, los videos que están disponibles para esta clase son un poco antiguos: MIT 6.046J / 18.410J Introducción a los algoritmos (SMA 5503)
  • Si desea buscar algoritmos específicos o estructuras de datos, las páginas de Wikipedia para los más comunes: BFS, DFS, Dijkstra, BBST, búsqueda binaria, tablas hash … etc. generalmente son muy accesibles y bastante precisos: Categoría: Algoritmos y Categoría: Estructuras de datos

Específicamente para la programación competitiva, sugeriría mirar:

  • TopCoder ofrece muchos tutoriales sobre algoritmos (especialmente implementación): Tutoriales de algoritmos
  • ACM tiene un repositorio completo de problemas de práctica para su competencia de programación: Archivo ACM-ICPC

Además de estos, hay un par de libros más que puede preferir.

  1. La programación competitiva de Steven Halim, que tiene una descripción ( no muy matemática ) de los principales contenidos en la programación competitiva y al final de cada capítulo, tiene una lista de problemas que utilizan esos temas. Creo que este es un excelente recurso para estudiantes de nivel principiante / intermedio que aún necesitan aprender muchos de los conceptos y desean encontrar problemas para practicarlos.
  2. ESTRUCTURA DE DATOS Y ALGORITMO por Narsimha Karumanchy este es un libro de nivel muy básico que le enseña todas las cosas relacionadas con DS desde cero .

Related Content

En primer lugar, gracias por A2A.
La estructura de datos es un tema que trata sobre la práctica. Solo necesita reafirmar sus conceptos y, después de eso, todo depende de los problemas que esté intentando. Para reafirmar sus conceptos, cualquier buen libro funcionaría para usted.
Puedes seguir estos libros

  • ‘Estructuras de datos y diseño de programas’ por R. Kruse etal, Pearson Education
  • Estructuras de datos de ‘Seymour Lipschutz’, publicación de TMH.
  • “Estructura de datos y algoritmos” por GAV Pai, publicación de TMH.

    Le recomiendo personalmente que siga una serie de videos del Dr. PP Chakraborty. A medida que avance su curso, se dará cuenta de que será uno de los mejores maestros que haya tenido y que no necesitará libros pesados. Aquí hay un enlace para ese video: NPTEL :: Informática e Ingeniería. Buena suerte…

Los mejores libros para estructuras de datos son:

  • Estructuras de datos y algoritmos simplificados por Narasimha Karumanchi
  • Estructuras de datos y algoritmos en Java, segunda edición por Robert Lafore
  • El Algorithm Design Manual, 2nd Edition por Steven S Skiena
  • Introducción a los algoritmos, 3a edición por Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
  • Algoritmos, 4a Edición por Robert Sedgewick, Kevin Wayne
  • Elementos de las entrevistas de programación en Java: la guía de información privilegiada, por Adnan Aziz, Tsung-Hsien Lee, Amit Prakash
  • Programming Pearls, 2nd Edition por Jon Bentley
  • Algoritmos en C, 3ra Edición por Robert Sedgewick
  • The Art of Computer Programming, 1st Edition por Donald E. Knuth
  • Hacker’s Delight 2nd Edition de Henry S. Warren

Solo puedo decirte los recursos que utilicé para aprender estos temas.

  1. Algorithms, 4th Edition – por Robert Sedgewick y Kevin Wayne. También imparten un curso sobre Coursera que mencionaré más adelante.
  2. Introducción a los algoritmos: famoso llamado CLRS
  3. Cursos en línea masivamente abiertos en Coursera
  1. Algoritmos, Parte I – Universidad de Princeton | Coursera
    Algoritmos, Parte II – Universidad de Princeton | Coursera
    Estos cursos requieren que conozcas Java.
  2. Algoritmos | Coursera – de la Universidad de Stanford. Este curso requiere que sepas al menos un lenguaje de programación (no es necesario que sea Java).
  • Introducción a los algoritmos (SMA 5503) – De MIT OpenCourseWare.
  • GeeksforGeeks | Un portal informático para geeks: también es útil para la preparación de entrevistas.
  • Buena suerte 🙂

    1. El manual de diseño de algoritmos de S. Skiena es el mejor
    2. Lista de estructuras de datos – Wikipedia para referencia
    3. Visualización de estructura de datos para visualización y comprensión rápida

    Cursos impartidos gratuitamente por el autor en su canal de YouTube: Steven Skiena

    Para apreciar realmente las estructuras de datos y sus usos, entre en excelentes libros como estos:

    • Amazon.com: Geometría Computacional: Algoritmos y Aplicaciones
    • Algoritmos sobre cadenas, árboles y secuencias: Ciencias de la computación y biología computacional: Dan Gusfield: 9780521585194: Amazon.com: Libros
    • http://library.msri.org/books/Bo
    • https://www2.units.it/ipl/studen
    • Cómo resolverlo: heurística moderna: Zbigniew Michalewicz, David B. Fogel
    • Manual de Metaheurística (Serie Internacional en Investigación de Operaciones y Ciencias de la Gestión): Michel Gendreau, Jean-Yves Potvin
    • Manual de programación: algoritmos, modelos y análisis de rendimiento
    • Computación distribuida: un enfoque sensible a la localidad (monografías sobre matemática discreta y aplicaciones): David Peleg: 9780898714647: Amazon.com: Libros

    Estudiar algoritmos de geometría computacional . Toda esa geometría, geometría analítica, fórmulas para parábolas, círculos, intersecciones entre dos líneas, todo esto cobra vida y finalmente ves usos de lo que aprendiste en la escuela secundaria y también ves compensaciones entre estructuras de datos y cuándo usar cuál para lograr velocidad y cálculo rápido.

    Por ejemplo, la planificación de la ruta del robot : la planificación de la ruta del robot mediante diagramas de Voronoi generalizados hace un uso intensivo de la geometría computacional. Planificación de la ruta del robot en acción (oficina de correos china y robots que ayudan a ordenar el correo):

    Geometría computacional en drones. Si el dron tiene que pasar entre dos puntos que son pasados ​​por alto por dos nidos de artillería hostiles, y si puede alimentarlo con información en tiempo real de dónde están usando los GPS, puede resolver este problema con alguna variación del algoritmo de Fortune, que tiene el concepto de línea imaginaria que cruza el campo y una vez que detecta un obstáculo, dibuja parábolas que se cruzan con las parábolas de otros obstáculos detectados y al final puede formar una triangulación que le muestra caminos seguros a través de los cuales puede pasar el dron.

    Los puntos son obstáculos (por ejemplo, nidos de artillería). La triangulación al final representa pasajes. Los problemas surgen cuando esos puntos comienzan a moverse (pistola de artillería conectada al vehículo en movimiento) y luego tienes que combinarlo con otros algoritmos y crear soluciones.

    Un gran recurso son los archivos TopCoder Single Round Match de problemas y soluciones que suceden semanalmente y son una excelente manera de mantenerse actualizado con estos temas: Estadísticas TopCoder – Archivo de problemas: verá cómo los algoritistas mejor calificados del mundo resuelven problemas.

    Haga su propia base de conocimiento y considere cada conocimiento que adquiera como una especie de pequeño soldado que lo protegerá y lo mantendrá a salvo en el futuro. Crea tu ejército de pequeños soldados que son básicamente conocimientos que recoges de diferentes fuentes. Documente todo lo que sabe en github / gitlab.

    Introducción a los algoritmos

    Por: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

    El libro es muy aclamado por la simplicidad con la que introduce a un programador por primera vez en el complejo mundo de los algoritmos. El alcance del libro es vasto en términos de algoritmos y los detalles de diseño se han mantenido concisos sin sumergirse demasiado en la red matemática de operaciones.

    Cada algoritmo en cada capítulo del libro es fácil de leer y cualquiera que haya tenido una obertura básica con la programación de computadoras antes podrá comprenderlos sin esfuerzo. Para que el lenguaje se mantenga aceptable para los lectores de todos los niveles, los diseños de algoritmos y las explicaciones que los acompañan se han mantenido lúcidos. En esta edición se han agregado dos capítulos completamente nuevos sobre árboles de Van Emde Boas y algoritmos multiproceso. El capítulo sobre recurrencias ha sido renombrado y revisado completamente a ‘Divide & Conquer’.

    Además, si es posible, intenta ver algunos tutoriales, te ayudarán mucho

    Cuando hablamos de la estructura de datos, estamos hablando de las siguientes cosas:

    1. Diferentes tipos de datos
    2. Matrices
    3. estructura
    4. Clase
    5. Instrumentos de cuerda
    6. Lista enlazada
    7. Apilar
    8. Cola
    9. Árbol binario
    10. Grafico
    11. HashMap
    12. Montón

    Los primeros 5 están muy unidos al lenguaje. También el lenguaje es el mecanismo de implementación de la estructura de datos.

    La estructura de datos de la matriz puede ser muy simple (colección contigua e indexada de elementos homogéneos). Pero estudiamos la estructura de datos de Array contra algunos algoritmos (búsqueda, clasificación, etc.)

    Entonces, en lugar de simplemente aprender la estructura de datos … Probablemente desee aprender la Estructura de datos y los algoritmos junto con un lenguaje de implementación para verlos en ejecución.

    En cuanto a su pregunta, creo que Cormen es un buen libro. Pero si desea prepararse solo para entrevistas (o concursos), entonces probablemente quiera omitir algún capítulo de ese libro.

    En lugar de buscar una solución única para todo, le sugiero que busque temas individuales.

    Por cierto: Mi libro Comprar programación dinámica para codificar entrevistas: un enfoque ascendente para la resolución de problemas Libro en línea a precios bajos en la India puede ser una buena lectura para la programación recursiva y dinámica desde la perspectiva de codificar entrevistas y concursos.

    1.Introducción al algoritmo por Al. Cormen

    2.Estructuras de datos y algoritmos simplificados por NARASIMHA KARUMANCHI
    3. ESTRUCTURAS DE DATOS UTILIZANDO C Y C ++, por Langsam Yedidyah, Augenstein J Moshe, Tenenbaum M Aaro

    Estructuras de datos y algoritmos simplificados por Narasimha Karumanchi

    Las estructuras de datos y los algoritmos simplificados explican la estructura de datos y los conceptos de algoritmo con el código fuente. El usuario puede comprender conceptos y probar con el compilador C / C ++. Si el usuario quiere aprender usando el lenguaje de programación java, usa “Estructuras de datos y algoritmos fáciles en Java”. Este libro explica los conceptos en 21 capítulos que cubren Recursion and Backtracking, Listas vinculadas, Pilas, Colas, Árboles, Cola prioritaria y montones, Algoritmos de cadena, Técnicas de diseño de algoritmos y más. También explica con múltiples enfoques para cada problema. El usuario puede comprender el análisis de algoritmos para cada problema.

    Estructuras de datos y algoritmos en Java, segunda edición por Robert Lafore

    Las estructuras de datos y los algoritmos en Java explican los conceptos en el nivel básico. Este libro explica los conceptos que utilizan Java Build en funciones de biblioteca y futuros de Java. También agrega las soluciones sugeridas a los proyectos de programación para cada capítulo. El usuario puede descargar el código fuente. Este libro fue escrito como un libro de texto para un curso de “Estructuras de datos y algoritmos” y se cubren todos los temas esperados; matrices, colas, pilas, listas vinculadas, árboles, tablas hash, montones, clasificación, recursión y búsqueda.

    Introducción a los algoritmos de Thomas H. Cormen: este es uno de los mejores libros sobre algoritmos informáticos, está escrito por cuatro autores, uno de ellos es Thomas H. Cormen, cuyo otro libro Algoritmo desbloqueado es también el libro más recomendado para aprender algoritmos. Este libro es mucho más completo y cubre muchos algoritmos diferentes y técnicas avanzadas de resolución de problemas, por ejemplo, algoritmos codiciosos, programación dinámica, análisis amortizado, junto con estructuras de datos elementales como pilas y colas, matriz y lista vinculada, tablas hash, árbol y Grafico. Este libro es una combinación única de integridad y rigor. Otra cosa buena de este libro es que los algoritmos se explican en inglés y en pseudocódigo, que incluso los programadores pueden entender, y que recién comienzan a programar. Es igualmente útil para todo tipo de programadores, por ejemplo, senior, experimentado y novedoso, y en todo tipo de lenguaje de programación, por ejemplo, Java, C o C ++. Uno de los libros de lectura obligatoria sobre Algoritmos para programadores y desarrolladores de software.

    Bob Sedgewick y Kevin Wayne:

    https://www.amazon.com/Algorithm

    Primero iría a las conferencias, mientras Sedgewick habla y muestra la mecánica de las cosas:

    Algoritmos, Parte I | Coursera

    Algoritmos, Parte II | Coursera

    Si no desea esperar para inscribirse, también puede encontrar estos 2 cursos en Youtube.

    Otro libro que estoy disfrutando es este para programación dinámica:

    https://www.amazon.com/Dynamic-P

    ¿Pero por qué estos libros y video conferencias? bueno, en mi caso soy un tipo visual, así que me gusta ver que las cosas funcionen y NI EL CÓDIGO PSEUDO ni las PRUEBAS DE MATEMÁTICAS PESADAS . Puede encontrar todo el código fuente, pruebas y más información en el sitio del libro si lo desea: Algorithms, 4th Edition

    Para practicar, siga implementando todos los algoritmos y estructuras de datos y también puede golpear duro en LeetCode

    ¡Espero haberte ayudado!

    Aclamaciones,

    1. Compre estructuras de datos y algoritmos de forma fácil en Java: estructura de datos y libro de acertijos algorítmicos
    2. Algoritmos (4a edición): Robert Sedgewick, Kevin Wayne

    Estas son esas siete novelas escritas por los grandes hombres exitosos del mundo. debes leer todos estos libros para concentrarte, concentrarte y, por supuesto, motivarte para lograr el éxito en tu vida.

    Un libro más de best sellers. humildemente sugiero que todos deberían leer este libro.

    Lo mejor que encontré es en línea, siempre mejor que los libros, pero por si acaso aquí. Si quieres aprender de lo básico, entonces

    1. C en profundidad por Deepali Srivastav
    2. Para obtener más conocimientos avanzados, Introducción a los algoritmos por CLRS. (Mejor libro, léalo continuamente hasta que comience cada tema en este.).

    Si eres principiante, te sugiero estructuras de datos de Seymour Lipschutz. El libro es una muy buena base de partida para cualquiera que comience con Data Structures.

    Sin embargo, las estructuras de datos se estudian mejor con algoritmos, y solo estudiar la estructura de datos simple no es muy útil. Le sugiero que también pruebe las estructuras y algoritmos de datos de Aho, Ullman, Hopcroft, que es un excelente libro que combina estructuras de datos y algoritmos, y es muy adecuado para principiantes.

    Salud.

    Introducción al algoritmo

    Estructura de datos y algoritmo simplificados.

    Romper la entrevista de codificación.

    Sitios web gratuitos.

    Coursera | Cursos en línea de las mejores universidades. Únete gratis

    edX

    Cursos Udemy

    Cualquier C, C ++ tendrá algo de estructura básica de datos. Si desea aprender en profundidad junto con el pseudocódigo, consulte Introducción a los algoritmos (recomendado por Adam D’angelo).

    Tiene un análisis en profundidad de estructuras de datos compuestos y algoritmos.

    1. Introducción al algoritmo por clrs: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Amazon.in: Kindle Store, aunque es un poco matemático.
    2. Compre estructuras de datos y algoritmos de manera fácil: Segunda edición: Libro de rompecabezas de estructuras de datos y algoritmos en línea a precios bajos en India, muy bueno para comenzar.

    Estructuras de datos clásicas Comprar libro de estructuras de datos clásicas en línea a precios bajos en India

    Estructuras de datos con C Amazon.in: compre estructuras de datos con C Book en línea a precios bajos en India

    Introducción a los Algoritmos (Eastern Economy Edition) Compre Introducción a los Algoritmos (Eastern Economy Edition) Reserve en línea a precios bajos en India

    Puede usar cualquiera de los dos primeros para algoritmos (preferiblemente el primero) y si desea estudiar algoritmos más tarde, use Introducción al algoritmo de corman.

    Descargue todo el tutorial relacionado con la Estructura de datos desde lo básico

    Materiales de conferencia

    Lea también tutorails

    Introducción a las estructuras de datos

    More Interesting