¿Cuál es una versión más amigable para principiantes de CLRS para algoritmos de aprendizaje? ¿Estaría rompiendo la entrevista de codificación?

Descargo de responsabilidad : no he terminado de leer ni CLRS ni Sedgewick, lea esta respuesta a su discreción.

Recomendaría Algorithms By Robert Sedgewick.

Tiene los siguientes rasgos en comparación con CLRS desde mi punto de vista:

  • Pruebas matemáticas menos rigurosas;
  • más ilustraciones;
  • da implementaciones reales en Java;
  • más explicaciones, ejemplos y ejercicios;
  • El curso en línea de Sedgewick está disponible en Coursera

No lo consideraría como “otra versión” de CLRS, simplemente porque los Algoritmos cubren solo una fracción del contenido cubierto por CLRS. Pero estos contenidos, posiblemente, son la base de los temas avanzados. La minuciosa elaboración de Sedgewick seguramente lo ayudará a comprender más claramente.

Como ejemplo en vivo, los Algoritmos presentan 2-3 árboles de largo antes de introducir el Árbol Negro Rojo, mientras que CLRS discute directamente los Árboles Negros Rojos después de BST (menciona el árbol 2-3 en la nota del capítulo). Es posible que aún no conozca esas estructuras, pero diría que encontré que la disposición en Algoritmos es más fácil de memorizar los diferentes casos de operaciones y, lo más importante, de comprender la razón por la que lo hacemos. También me ayudó a comprender mejor la razón por la cual CLRS elige categorizar diferentes casos de esa manera. Tengo sentimientos similares por algunos (no todos) otros temas.

Para concluir, creo que para empezar, los algoritmos serían una buena opción; pero para hacerlo bien, CLRS es necesario (puede no ser suficiente). Entonces, si tiene suficiente tiempo y energía, es posible que desee tratar de resolver los temas de uno de ellos primero y luego usar el otro como control de cordura.

La entrevista de Cracking the Coding no enseña algoritmos. El libro está dirigido a personas que ya tienen algo de experiencia en programación y probablemente estén muy familiarizadas con las estructuras de datos. Una introducción más simple a las estructuras de datos y algoritmos es “Estructuras de datos y algoritmos en Java” por Michael T. Goodrich. Se salta la mayor parte de las matemáticas pesadas y solo se enfoca en comprender cuáles son las estructuras de datos, cómo implementarlas y los casos de uso comunes.

Secundaré lo que Spiritus Pap escribió y recomendaré mi libro, Algorithms Unlocked . Es más amigable para principiantes que CLRS.

Thomas Cormen escribió un libro más accesible, Algorithms Unlocked .