¿Por qué es Introducción a los algoritmos una lectura obligada para convertirse en un mejor programador?

Parece que el núcleo de su pregunta es, “¿Por qué son necesarios los algoritmos para convertirse en un mejor programador?” Además, no lea CLRS de adelante hacia atrás. Nadie hace eso. Brincar.

La verdad es que con todos los avances tecnológicos en los años 80, 90, 00 y ahora, la informática no ha cambiado mucho con el tiempo. La tecnología específica cambia, pero los fundamentos cambian muy, muy lentamente, si es que lo hacen.

Los algoritmos son una de las herramientas fundamentales en el arte de la programación: comprenderlos, usarlos, ajustarlos, crearlos y optimizarlos. El dominio de los algoritmos asegurará que su conjunto de habilidades centrales siempre sea relevante.

Podría decir: “Nunca he necesitado hacer una ordenación binaria en el código de producción”, y eso podría ser cierto. De hecho, es posible que nunca necesite crear un árbol rojo-negro. Es posible que nunca necesite ajustar un algoritmo de O (n) a O (log n). Pero cuando elige una función para usar de una biblioteca preescrita, comprender la complejidad del tiempo y el espacio lo ayudará a seleccionar un algoritmo apropiado para la tarea en cuestión y evitar costosas trampas en el futuro.

En mi opinión, la pregunta que debe hacerse es: ¿Qué tan bueno quiere ser?

¿Desea utilizar los componentes de otra persona, Cocoapods, libs y gemas para el resto de su carrera de programación, o desea ser lo suficientemente bueno como para comprender las diferencias en los enfoques algorítmicos para que un día, cuando tenga que aventurarse en el un camino trillado y escribir algo nuevo o hacer algo realmente difícil, ¿puedes decir con confianza que puedes hacerlo? Esa es la verdadera pregunta.

Las biblias de los algoritmos son los libros de Knuth, The Art of Computer Programming. Tuve que usarlos en C.Sc.

https://www.amazon.com/s/?ie=UTF8&keywords=the+art+of+computer+programming

No es una lectura fácil y muchos algoritmos esotéricos. Pero es útil para comprender los algoritmos básicos, tales como géneros, búsqueda, listas vinculadas, hashing, compresión y cifrado básico, búsqueda de rutas, 8 reinas, recorrido de caballeros. En realidad, si haces juegos, es mejor que aprendas todos estos algoritmos. Te sorprenderá la cantidad de ajustes que puedas necesitar.

Porque conocer algoritmos y estructuras de datos lo ayudará a escribir código más rápido y más optimizado que pueda escalar y manejar gran cantidad de datos.

Por ejemplo, compare la implementación de una tabla de búsqueda usando Listas vs HashMaps. List.find se volverá más lento a medida que crezcan los datos, mientras que HashMap.find se mantendrá rápido con un tiempo de búsqueda constante (suponiendo el mejor caso con colisiones mínimas).

Tengo una copia del libro, y para ser sincero, no es realmente tan útil.

Es importante tener en cuenta los diferentes algoritmos, que puede obtener de un simple libro de resumen general.

También es importante comprender la eficiencia de ciertos algoritmos al realizar BÚSQUEDAS DE MONSTRUOS.

pero en realidad he sido programador durante aproximadamente 5 años y nunca he necesitado lo que el libro tiene para ofrecer … y escribí sistemas de fabricación flexibles … que básicamente automatizan todo lo que tiene que ver con la producción de piezas de principio a fin, incluidos los robots y transporte y pedidos automatizados … y ni una sola vez se ha requerido ningún estudio alg.

el libro está sobrevalorado, es genial porque ofrece una excelente visión general de ciertas algas, pero nadie en el mundo lo ha leído de principio a fin y lo ha hundido … muchas personas fingen que lo han hecho.

su tapa se apagará cuando saque su teléfono, abra el libro en una página determinada y luego pregúnteles al respecto …

TODOS FALLARÁN DESMALTAMENTE.

pero pregúntales qué es una búsqueda binaria y seguirán hablando por horas.

Este libro es esencialmente lo que convirtió a los desarrolladores polacos en los terceros mejores del mundo. Pero no sé si está disponible en inglés Algorytmy, struktury danych i techniki programowania. Wydanie V

La única forma de programar un sistema complejo es conocer todos los algoritmos básicos. La introducción a los algoritmos le proporciona exactamente eso. Tiene casi todos los algoritmos que necesita y tiene suficiente conocimiento para proporcionarle a usted para que pueda escribir sus propios algoritmos eficientes. Por eso es de lectura obligada. No solo un libro de lectura obligada sino también de comprensión.