¿Son suficientes los tutoriales del codificador superior de la estructura de datos y los algoritmos para obtener una base sólida en la programación?

Depende Encuentro que el tutorial del codificador superior es excelente y me he referido a muchos tutoriales para aprender lo básico. Sin embargo, a menudo encuentro personas (especialmente principiantes) que luchan con los tutoriales de TopCoder.

TopCoder es una plataforma de programación competitiva y la mayoría de los tutoriales tienen incentivos de rendimiento, es decir, los tutoriales tienden a analizar las mejores prácticas que conducen a la solución más rápida. Tomaré un ejemplo simple aquí. Considere este tutorial sobre Recurrencias lineales – Artículos destacados de TopCoder. Este es realmente un gran artículo. Sin embargo, es demasiado para un principiante. El tutorial discute un método para calcular el enésimo término de una secuencia recursiva linealmente usando la multiplicación de matrices. El punto importante aquí es comprender cómo funciona la relación de recurrencia, pero el tutorial analiza trucos basados ​​en gcc y métodos de exponenciación rápida que dificultan que un principiante comprenda la esencia del concepto.

Los tutoriales de TopCoder generalmente no tienen un código de muestra y una explicación función por función (y flujo) del programa adjunto. Esto es ideal para las personas que solo necesitan obtener una visión general, pero cuando aprenden conceptos básicos, este no es un método recomendado. La mayoría de estos artículos también asumen que el lector conoce las matemáticas requeridas, lo que no siempre es cierto.

Los tutoriales de TopCoder están optimizados para programadores competitivos. Si no eres un programador competitivo, entonces no es para ti. Hay muy pocos artículos destinados a programadores competitivos de nivel principiante o programadores no competitivos.

Para construir una base sólida, lea libros como CLRS.

More Interesting

¿Qué estrategia debo usar para resolver esta pregunta? - HackerEarth | Iniciar sesión (Equipo del proyecto | HackerEarth)

Cómo elegir un elemento único de una lista dentro de un bucle en R

¿Dónde debo comenzar una estructura de datos?

¿TFIDF es una métrica para medir qué tan informativa es una palabra o un algoritmo de aprendizaje automático?

Cómo encontrar el valor mínimo en una lista vinculada (individual / doblemente) en la menor cantidad de tiempo

¿Qué significa que el algoritmo TD (en el aprendizaje por refuerzo) hace predicción y no control?

¿Cuáles son las aplicaciones en tiempo real del algoritmo de Dijkstra?

¿Qué debo hacer si tengo dificultades con la programación dinámica en SPOJ?

¿Cómo podemos encontrar de manera óptima la suma máxima de números de dos conjuntos (de números) que sea menor que un valor fijo, digamos N?

Dadas las coordenadas de 3 puntos, cómo encontrar el centro del círculo formado por estos puntos con alta precisión. Para lograr una alta precisión, debe haber algún proceso de división. ¿Hay alguna forma de hacerlo?

¿Qué escenario aplica algoritmo y estructura de datos?

¿Puedo aprender algoritmos en mis vacaciones de verano si doy 8-10 horas cada día?

¿Cuál es la diferencia entre el orden de fusión de arriba hacia abajo y el de fusión de abajo hacia arriba?

¿Cuáles son los diversos métodos para implementar una pila utilizando la (s) lista (s) vinculada (s) y qué método es el mejor?

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