¿Qué libro sobre algoritmos es una lectura obligada para un programador?

La llamada Biblia de Algoritmos – CLRS, se mencionó en una de las respuestas anteriores. Así que enumeraré dos de mis otros libros favoritos.

El manual de diseño de algoritmos de Steven S Skiena [1]

Aunque no estoy muy cómodo con C (las implementaciones de codificación están en C), encontré que este libro es una de las mejores lecturas. El estilo lúcido de la escritura combinado con la forma concisa de explicar los conceptos lo convierte en un libro muy apasionante. Especialmente me encantó la segunda parte del libro “La guía del autoestopista de algoritmos”

Otro libro no muy común, que me encantó, es Algoritmos de Python de Magnus Lie Hetland [2]

La forma informal en que el autor transmite los diversos ejemplos, es casi como leer un libro de cuentos. Y los códigos son extremadamente elegantes. Sin embargo, debes estar bien versado en Python para seguir los ejemplos porque las implementaciones son concisas y compactas (lo que me ayudó a desarrollar mi amor por Python). ¡Y la mejor parte es que una vez tuve una duda en una de las secciones y le envié un correo al autor y él me respondió con una explicación en 12 minutos!

[1] Manual de diseño del algoritmo: Steven S Skiena: 9781848000698: Amazon.com: Libros
[2] Algoritmos de Python: Dominio de algoritmos básicos en el lenguaje Python (Voz del experto en código abierto): Magnus Lie Hetland: 9781430232377: Amazon.com: Libros

Hay un libro muy subestimado y subestimado que considero uno de los mejores textos de informática, no solo textos de algoritmos: Introducción a los algoritmos de Udi Manber. No es un libro de referencia: es un libro pedagógico que lo ayuda a comprender de dónde provienen los algoritmos y cómo diseñar los suyos cuando los necesita.

Es un libro raro que contiene mi técnica pedagógica favorita, que muestra errores y caminos falsos , no solo respuestas finales correctas. Manber es un maestro tanto de la teoría algorítmica como de la implementación (ha construido varios sistemas de software ampliamente utilizados), por lo que su opinión sobre el diseño de algoritmos es especialmente digna de respeto. Ciertamente, ha inspirado mi propia versión de los algoritmos de enseñanza, y una que me gustaría adoptar más de lo que tengo hasta ahora.

El libro incluso contiene código de trabajo; Su único inconveniente es que el código está en Pascal (no es sorprendente, dada su antigüedad). Esto es un problema no porque Pascal sea un lenguaje “antiguo” sino un lenguaje que no es muy bueno para expresar estructuras de datos dinámicas, lo que hace que todo sea mucho más detallado y confuso de lo necesario, especialmente porque quiere mostrar el código de trabajo.

El libro está agotado y probablemente sea difícil de conseguir. Pero si alguna vez encuentras una copia asequible, tómala.

He leído todos los libros sugeridos en otras respuestas (hasta ahora) y puedo decirle que el mejor libro que puede leer e intentar asimilar en el campo de los algoritmos es The Art of Computer Programming, de Donald E. Knuth.

En este momento, este libro tiene 4 volúmenes y algunos folletos complementarios. Leer y comprender TAOCP es un proyecto en sí mismo y requiere una afinidad superior a la media por las matemáticas y la programación, ¡y un sentido del humor! Pero vale la pena el tiempo y el esfuerzo.

Pregúntele a cualquiera que haya leído este libro y le dirán que no hay otro libro como este.

También recomiendo Introducción a los algoritmos, por Cormen et al., Informalmente conocido como CLRS (por sus cuatro autores). Este es otro trabajo sustancial en el campo al que se encontrará volviendo una y otra vez si realiza alguna programación real. o trabajo de investigación.

Yo recomiendo:

Introducción a los algoritmos: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848: Amazon.com: Libros

Para mi:

CLRS – Introducción al algoritmo
Introducción a los algoritmos: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848: Amazon.com: Libros

Y programación competitiva 3
Programación competitiva 3

¡Disfrútalos!

Estos libros :

[1] Introducción a los algoritmos por Thomas H. Cormen, Charles E. Leiserson, Ronald L Livest y Clifford Stein

Llamada correctamente la biblia de los algoritmos, este libro es una lectura obligada para programadores de cualquier nivel. Cada algoritmo en este libro se explica completamente con un análisis adecuado y con muchos ejercicios para una mejor comprensión. Este libro usa pseudocódigo para explicar los algoritmos, que es un mejor enfoque en comparación con los códigos orientados al lenguaje. Muy recomendable.

Lea los detalles y las reseñas aquí : Introducción a los algoritmos

——————————————————————————-

[2] Algoritmos esenciales: un enfoque práctico de los algoritmos informáticos por Rod Stephens

Este libro proporciona una introducción fácil de leer a los algoritmos informáticos. Describe una serie de algoritmos clásicos importantes y dice cuándo cada uno es apropiado. Explica cómo analizar algoritmos para comprender su comportamiento. Lo más importante es que enseña técnicas que el lector puede usar para crear nuevos algoritmos para satisfacer las necesidades futuras.

Lea los detalles y las reseñas aquí: Algoritmos esenciales

——————————————————————————

[3] Algoritmos desbloqueados por Thomas H. Cormen

El enfoque del libro es más fácil de entender para principiantes. Cubre algoritmos casi básicos, lo ayuda a comprender conceptos y aplicaciones. Entonces, si quieres ir más lejos, puedes ir con CLRS. Después de leer este libro, el CLRS es más fácil de leer. Pero si solo desea conocer los algoritmos y no profundizar, este libro es suficiente para usted.

Lea los detalles y las reseñas aquí : Algoritmos desbloqueados

——————————————————————————

[4] Estructura de datos y pensamiento algorítmico con Python por Narasimha Karumanchi

Para los programadores de Python, este es un gran libro para aprender Algoritmos. Este libro explica detalladamente varios algoritmos con ejercicios de práctica y soluciones junto con ejemplos del lenguaje Python en gran profundidad. Todavía uso este libro como referencia a veces, ya que este fue el primer libro que utilicé para estudiar DS y Algo. Debe leer.

Lea los detalles y las revisiones aquí : Estructura de datos y pensamiento algorítmico con Python

————————————————————————-

[5] Algoritmos: un enfoque creativo de Udi Manber

Este libro enfatiza los aspectos creativos del diseño de algoritmos al examinar los pasos utilizados en el proceso de desarrollo de algoritmos. Este libro contiene cientos de problemas y ejemplos. Está diseñado para mejorar las habilidades de resolución de problemas del lector y la comprensión de los principios detrás del diseño del algoritmo. Me pregunto cómo este libro no es tan popular como debería ser. Este es uno de los mejores libros de algoritmos que existen.

Lea las reseñas y detalles aquí: Algoritmos: un enfoque creativo

Otro libro que he escuchado mencionar a menudo es:
Diseño de algoritmo: Jon Kleinberg, Éva Tardos: 9780321295354: Amazon.com: Libros

Aprendí a usar el libro

Una introducción a las estructuras de datos con aplicaciones

Es un buen libro con conceptos básicos bien explicados.
Introducción a las estructuras de datos con aplicaciones (Serie de informática de Mcgraw Hill): Jean-Paul Tremblay, Paul G. Sorenson, PG Sorenson: 9780070651579: Amazon.com: Libros

yo recomiendo
Algoritmos: Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani: 9780073523408: Amazon.com: Libros

Mi favorito para principiantes es Algorithms by Dasgupta and Vazirani. Amazon.com: Algoritmos (9780073523408): Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani: Libros

Y … ¡el libro es gratis!

Índice de / ~ vazirani / algoritmos

El arte de la programación de computadoras por Knuth

Recomendaría Algoritmos y Estructuras de Datos de Gilberg. Explica el desarrollo de algoritmos con pseudocódigo, mejorándolos e implementándolos con diferentes variaciones que darán soluciones a diferentes problemas.

1, Introducción a los algoritmos

2, El arte de la serie de programación informática

El primero es muy recomendable y el segundo es opcional, pero debe leer la serie si tiene tiempo.

Por lo que veo, nadie mencionó los ‘Algoritmos’ de Sedgewick. Lo recomiendo.

Algorithms (4th Edition) de Robert Sedgewick es una buena lectura para principiantes.

el libro de umesh varzirani y sanjay das gupta debe tener un libro manual de diseño de algoritmos.
Me encanta especialmente la parte de programación dinámica del libro y no es uno de esos manuales de 1k páginas que puedes seguir fácilmente, tiene 300 páginas, por lo que debes prestar más atención a este libro.

Introducción a los algoritmos

More Interesting

En Python, ¿cómo reemplazo una cadena en el texto sin reemplazar las subcadenas?

Si digo los números del 1 al 100 en un orden aleatorio y omito un número, ¿cómo determinaría el número que falta solo en su cabeza?

Si un gráfico G contiene un puente, e, ¿es posible construir un árbol de expansión que no incluya este borde?

Cómo determinar la complejidad de esta recurrencia T (n) = 16 * T (n / 4) + n! usando el teorema maestro

¿Existe un límite superior para la capacidad de comprensión de un individuo? Si es así, ¿qué se debe hacer para mejorarlo?

Cómo mostrar un problema es NP completo

¿Cuáles son los beneficios del algoritmo de retropropagación frente a la estimación numérica del gradiente?

¿Qué estructura de datos es más adecuada para una expresión postfix?

¿Cómo unir y dividir funciona en un Treap al agregar o eliminar un elemento?

Cómo saber si un algoritmo es [matemática] O (n) [/ matemática], [matemática] O (2n) [/ matemática] o [matemática] O (n ^ 2) [/ matemática]

¿Cuál es la diferencia entre array estático y automático?

¿Cuál es la diferencia entre los siguientes dos fragmentos de código?

¿Cómo funciona el algoritmo de búsqueda de ciclo de Floyd? ¿De qué manera mover la tortuga al comienzo de la lista vinculada, mientras se mantiene a la liebre en el lugar de reunión, seguido de mover un paso a la vez, hace que se encuentren en el punto de inicio del ciclo?

¿Qué tipo de algoritmo es efectivo (95-100%) para detectar hasta 15 dentro de una habitación?

Cómo ejecutar [(A * B) mod C] sin desbordamiento, si A y B son menores que C