Tengo 19 años. Soy bastante nuevo en la programación competitiva. Nunca aprendí a programar hasta que ingresé en la universidad. ¿Cómo puedo ser un experto dentro de 5 a 6 años?

Primero, es muy necesario si está realmente interesado en el campo de la programación competitiva. Es un campo que requiere mucho trabajo, una buena base matemática y una rutina dedicada de al menos 5 a 6 horas por día. Se dice: ” No hay nada como un programador competitivo promedio, o eres el mejor, uno de tu propio tipo o no eres nada “. Por lo tanto, es necesario explorar si está realmente interesado en este campo.

  1. Puedes comenzar a aprender el lenguaje de programación como C / C ++ o Java al principio. Con mi experiencia personal, recomiendo Hackerrank o GeeksforGeeks, ya que tiene todos los dominios básicos de aprendizaje de C, Estructuras de datos, Algoritmos, etc. También puede buscar otros libros recomendados o tutoriales en video en línea, lo que le resulte más cómodo.
  2. Tan pronto como tenga claro la programación básica en cualquier idioma, intente resolver problemas y haga programas para resolverlos. Le ayudará a recordar la sintaxis del lenguaje y también a mejorar sus conceptos lógicos para abordar un problema. Existen muchas plataformas de programación en línea como SPOJ, Hackerrank, CodeChef, Topcoder, etc. que pueden ayudarlo a encontrar problemas desde los más fáciles hasta los más difíciles con todo tipo de problemas de nivel de dificultad. A medida que practicas podrás aprender nuevos conceptos en el camino. También puede consultar esta pregunta en Quora sobre el aprendizaje de nuevos algoritmos y conceptos.
  3. Una vez que haya terminado con lo básico, tendrá que aprender sobre estructuras de datos y algoritmos (como programación dinámica, algoritmos codiciosos y muchos algoritmos de clasificación, su tiempo de ejecución / complejidad, etc.). A continuación se muestran los libros que son en su mayoría recomendados y que son muy buenos, como lo he experimentado yo mismo.
    • Estructura de datos – Esquema de Schaum. Puedes encontrar la copia impresa del libro. También está disponible en diferentes lenguajes de programación, así que eche un vistazo también a ellos.
    • Algoritmos – Introducción a los algoritmos por Thomas H. Cormen. Puedes encontrar la copia impresa y blanda del libro.

Una vez que esté bien establecido, lo que tomará algún tiempo dependiendo de su gestión del tiempo y su comprensión, comience a participar y competir en los concursos con las personas de todo el mundo. Conocerás cuánto más necesitas aprender. Feliz codificacion !!

¡Comience a resolver preguntas!

Hay muchos sitios web que le proporcionan un gran número de preguntas con diferentes niveles de dificultad. Hackerearth, codechef, spoj, etc. son algunos de estos ejemplos para comenzar a usar la codificación competitiva. Si eres un principiante, comienza con un nivel fácil y con el tiempo aumenta tu nivel de dificultad.

En segundo lugar, aprenda algunos algoritmos y técnicas de resolución de problemas (como codiciosos algoritmos, programación dinámica, etc.). Eso definitivamente será de gran ayuda.

Además, muchos de los sitios mencionados anteriormente tienen una sección de notas que puede referirse de vez en cuando para aumentar / mejorar sus habilidades de codificación y le ayudará a convertirse en un codificador eficiente.

Solo practica 2-3 preguntas diariamente y estoy seguro de que serías un gran programador en poco tiempo.