Aprender sobre estructuras de datos y algoritmos te convierte en un excelente programador.
Las estructuras de datos y los algoritmos son patrones para resolver problemas . Cuantos más tenga en su cinturón de servicios públicos, mayor será la variedad de problemas que podrá resolver. También podrá encontrar soluciones más elegantes a nuevos problemas de las que de otro modo sería capaz.
Entenderá en profundidad cómo su computadora hace las cosas. Esto informa cualquier decisión técnica que tome, independientemente de si está utilizando o no un algoritmo dado directamente. Todo, desde la asignación de memoria en las profundidades de su sistema operativo, hasta el funcionamiento interno de su RDBMS y cómo su pila de red logra enviar datos desde un rincón de la Tierra a otro. Todas las computadoras dependen de estructuras de datos y algoritmos fundamentales, por lo que comprenderlos mejor hace que comprenda mejor la computadora.
- ¿Cómo puede un algoritmo RLS utilizar el filtro Wiener como bloque FIR (M-tap)?
- ¿Cuál es el lenguaje más simple para aprender algoritmos y estructuras de datos?
- ¿Qué debe saber todo programador sobre Lisp?
- ¿Cómo explica la localidad de caché el hecho de que la ordenación rápida suele ser más rápida que la ordenación por fusión?
- He estado tratando de aprender el análisis de algoritmos usando el libro CLRS, sin embargo, encuentro que ese libro es difícil de entender. ¿Soy el único?
Parte de lo que Algorithms te enseña son prácticas para evitar. ¿Un bucle foreach que anida 3 capas de profundidad? Sí … eso es malo.
Todo depende del tipo de aplicaciones que esté creando y en qué parte de la pila esté trabajando. Si está trabajando únicamente en el front-end, aún puede ayudar, ya que JavaScript incorrecto conduce a largos tiempos de giro o navegadores congelados. El lado de la lógica de negocios / servidor lo usa aún más, ya que a menudo tiene que manipular mucho los datos antes de pasarlos.
En mi opinión, es un conocimiento “básico” bastante básico que deberías tener como programador.
En resumen, cada programador debe conocer al menos algoritmos básicos y estructuras de datos. Los principales que encontrará en todos los idiomas son lista, conjunto, mapa (o diccionario) y cola / deque.
Memorizar la complejidad algorítmica de ciertas operaciones en una clase como una Lista, un Conjunto o un Diccionario asegurará que elija el mejor método para almacenar y acceder a sus datos.