¿Cuáles son los mejores libros para algoritmos y estructuras de datos en C?

Estoy recomendando los 10 mejores libros de algoritmos y estructura de datos que ayudan a aprender la estructura de datos y los fundamentos del algoritmo. Seleccionamos libros basados ​​en nuestra experiencia y explicamos los factores involucrados con cada selección de libros. No calificamos ningún libro y cada libro tiene una buena cobertura de temas. Tenemos una gran cantidad de estructura de datos y material de algoritmos que está disponible gratuitamente en Internet. Pero, cuando el candidato comienza a leer en Internet, puede desviarse del aprendizaje de la estructura de datos y el algoritmo y es posible que no pueda cubrir todos los temas. Los libros ayudan a aprender la estructura de datos y el algoritmo de una manera enfocada sin mucha perturbación. Si el alumno aprende la estructura de datos y el algoritmo en el plan de estudios, puede navegar por los siguientes libros para comprender los conceptos claramente.

1) 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.

Lenguaje de programación : C / C ++
Código fuente : https://github.com/careermonk/Da…

2) Estructuras de datos y algoritmos en Java, segunda edición de 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.

Lenguaje de programación : Java
Código fuente : http://www.informit.com/store/da…

3) El Manual de Diseño de Algoritmo, 2da Edición por Steven S Skiena

El manual de diseño de algoritmos ayuda a preparar la entrevista de programación. Los buenos diseñadores de algoritmos comprenden varias técnicas fundamentales de diseño de algoritmos, incluidas las estructuras de datos, la programación dinámica, la búsqueda en profundidad, el seguimiento y la heurística. Este libro explica conceptos básicos con Pseudocódigo. El pseudocódigo se puede transferir a cualquier lenguaje de programación sin mucha dificultad. The Steve Yegge – Get that Job en Google recomienda el libro Algorithm Design Manual para la preparación de entrevistas en Google. Este libro también agrega las historias de la guerra mundial real donde se utilizan la estructura de datos y los conceptos de algoritmos.

Lenguaje de programación : C / Pseudocódigo
Código fuente : http://www3.cs.stonybrook.edu/~a…

4) Introducción a los algoritmos, tercera edición de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

El libro Introducción a los algoritmos cubre una amplia gama de algoritmos en profundidad. Puede ser utilizado por todos los niveles del programador, desde estudiantes graduados hasta profesionales que trabajan. Este libro explica el concepto usando Pseudocódigo. Se puede transferir cualquier lenguaje de programación sin mucha lucha. Es un libro de texto completo que cubre el espectro completo de algoritmos modernos, incluida la teoría de gráficos, la coincidencia de cadenas, la geometría computacional, la teoría de números y los algoritmos multiproceso. Este libro ayuda a preparar la entrevista de programación. Puede tomar más tiempo prepararse.

Lenguaje de programación : Pseudocódigo
Código fuente : https: //notebookbft.files.wordpr…

5) Algoritmos, 4a edición de Robert Sedgewick, Kevin Wayne

Los algoritmos son hoy el libro de texto líder en algoritmos y se usan ampliamente en colegios y universidades de todo el mundo. Este libro analiza los algoritmos informáticos más importantes actualmente en uso y proporciona un tratamiento completo de las estructuras de datos y algoritmos para la clasificación, búsqueda, procesamiento de gráficos y procesamiento de cadenas. El autor mantiene el portal en línea que contiene el código fuente completo de trabajo. El alumno puede comprender fácilmente la estructura de datos y el algoritmo utilizando el lenguaje de programación Java.

Lenguaje de programación : Java
Código fuente : http://algs4.cs.princeton.edu/home/

6) Elementos de las entrevistas de programación en Java: la guía de información privilegiada, por Adnan Aziz, Tsung-Hsien Lee, Amit Prakash

Los elementos de las entrevistas de programación ayudan a preparar la entrevista de programación. Los autores publicaron el libro separado para C ++ y Java. Este libro presentó explicaciones detalladas, comenzando con la solución de fuerza bruta y luego refinando a una solución eficiente. Todos los problemas se clasifican en términos de su nivel de dificultad e incluyen muchas variantes para ayudarlo a aplicar lo que ha aprendido más ampliamente. Todos los problemas incluyen sugerencias para los lectores que se atascan. Esto simula lo que enfrentará en la entrevista real. Este libro contiene la información sobre el nivel de dificultad para cada problema.

Lenguaje de programación : Java / C ++
Código fuente : http: // elementsofprogramminginte …

7) Perlas de programación, 2ª edición por Jon Bentley

Programming Pearls es una colección de perlas de programación de Jon Bentley que se incluye comúnmente entre los clásicos. Incluye algoritmos de clasificación, clasificación de fusión, vectores de bits, búsquedas binarias, corrección y prueba de programas, mejora del rendimiento, técnicas de ingeniería y resolución de problemas, algoritmos de división y conquista y escaneo y más. Este libro proporciona tutoriales y análisis de cada problema con análisis de rendimiento. También proporciona los problemas de ejercicio usando el lenguaje de programación C.

Lenguaje de programación : C
Código fuente : NA

8) Algoritmos en C, 3ra Edición por Robert Sedgewick

Los Algoritmos en C son un recurso esencial para investigadores, estudiantes y desarrolladores que trabajan en ciencias de la computación. Contiene 2 libros. El primer libro presenta conceptos fundamentales asociados con algoritmos y estructuras de datos. El segundo libro se enfoca completamente en algoritmos gráficos. También contiene 2,000 ejercicios. Este libro también contiene el tutorial, los diagramas y el código C que se pueden compilar, depurar y ejecutar directamente.

Lenguaje de programación : C
Código fuente : https://www.cs.princeton.edu/~rs…
https://www.cs.princeton.edu/~rs…

9) The Art of Computer Programming, 1st Edition por Donald E. Knuth

El arte de la programación de computadoras proporciona una descripción completa de una amplia variedad de algoritmos y el análisis. El primer libro comienza con preliminares matemáticos, pilas, colas, listas, matrices y árboles, y presenta implementaciones. El volumen 2 de la serie clásica de Donald Knuth, The Art of Computer Programming, abarca algoritmos seminuméricos. El tercer volumen es la encuesta más completa de las técnicas informáticas clásicas para clasificar y buscar.

“Si crees que eres un muy buen programador … lee el Arte de la programación informática [de Knuth] … Definitivamente deberías enviarme un currículum si puedes leer todo” -Bill Gates

Lenguaje de programación : Pseudocódigo
Código fuente : http: //www-cs-faculty.stanford.e…

10) Hacker’s Delight 2nd Edition de Henry S. Warren

The Hacker’s Delight contiene la colección de hacks de programación que incluye técnicas de ahorro de tiempo, algoritmos y trucos que ayudan a los programadores a crear software más elegante y eficiente y más. Contiene una colección de trucos de programación a nivel de bits, incluido un programa súper optimizador para computadoras RISC.

Lenguaje de programación : C
Código fuente : http://www.hackersdelight.org/hd…

Pocos libros que conozco son:

1 “El arte de la programación de computadoras” de Donald Knuth.

2 “El manual de diseño del algoritmo” de Steven Skiena.

3 Combinatoria aplicada.

4 “Algoritmo de Sedgewick, 4ª edición”.

5 Por Cormen, Charles, Ronald, Clifford “Introducción al algoritmo”.

6 “Algoritmos desbloqueados” de Cormen

7 “Algoritmos en C ++, partes 1-4” de Robert Sedgewick

Y buen sitio son:

1 GeeksforGeeks | Un portal informático para geeks

2 BeeHyve

3 VisualAlgo

A2A.

Nunca sentí la necesidad de otra cosa que no fuera el lenguaje de programación C: Brian W. Kernighan, Dennis M. Ritchie.

La forma en que el libro selecciona los problemas de simples a más complejos (conteo de palabras, clasificación, archivo de E / S, etc.), los enfoques para el pensamiento algorítmico, por qué se necesitan estructuras de datos, el capítulo sobre punteros y la aritmética de matrices. Hacen el libro cabeza y hombros por encima de otros libros tipo “tontos”. No solo enseña C. Enseña a pensar como un programador.

El único otro trabajo que hace un trabajo similar es Algorithms and Data Structures. Por el inventor del lenguaje de programación Pascal.

Una punta. No te preocupes por qué idioma aprender. Aprenda programación en algún idioma y luego aprenda más idiomas.