¿Se requiere un buen conocimiento de la estructura de datos y algoritmos para saltar a la codificación competitiva?

Estoy horrorizado por esto. Usted formuló esta pregunta como una forma que obliga a cualquier programador cuerdo y experimentado a decir un “¡Sí!”

Es equivalente a preguntar: “¿Se necesita un buen conocimiento de los principios químicos básicos antes de comenzar a trabajar en un nuevo medicamento farmacéutico?” o “¿Se necesitan operaciones matemáticas básicas como la suma, la multiplicación, etc. en mi arsenal de conocimiento antes de comenzar a practicar para la OMI?” o incluso “¿Debería aprender a apuntar un arma antes de obtener un permiso de transporte?”

Probablemente estoy violando la política de BNBR, pero solo dígame qué respuesta le gustaría escuchar. Quiero decir, ¿no es sentido común cuando tu competidor sabe las cosas que tú no sabes, y por tu propia admisión, cosas “básicas”, estarías a millas de distancia en cualquier campo competitivo?

¿Le gustaría escuchar a algunos de nosotros decir algo en la línea de “Aww … no sea tan duro con usted mismo. Puede comenzar a ganar premios gordos en la codificación competitiva con solo seguir un blog y hacer preguntas que respondan a Quora”. se preocupa por el DS básico y algo. ¡Duh! ¡Eso es totalmente para los perdedores! ”

¡Deja de seguir blogs aleatorios, deja de depender de otras personas y, lo que es más importante, deja de ser un bebé! Ten fe en ti mismo y obtén codificación. Siempre tiene ventaja cuando sabe más sobre los conceptos básicos.

Hola…

Es necesario que sea bueno en algoritmos y estructuras de datos sin pensarlo más. Head Start es solo leer, recordar y codificar. Sigue haciendo esto a diario, comienza hoy. La programación es más una actitud que una aptitud, la actitud positiva te empuja a la cola. Hazte fuerte en lo básico, mi opción sería Data Stru’C’tures 🙂

Según yo, tener un conocimiento sólido de las estructuras de datos es realmente importante porque la lógica del código se implementa a través de estas estructuras de datos. Las listas enlazadas, las pilas, las colas son muchas veces necesarias, mientras que los gráficos y los árboles rara vez se usan (al menos no he usado ellos) .
Los algoritmos contienen la lógica principal del programa. Si conoce el algoritmo, casi ha terminado con el código. Ahora depende de usted cuál es su enfoque durante la codificación.
PD: es totalmente mi punto de vista. Puedes ir con el mejor consejo. 😉

Es importante. Estos son los conceptos básicos y los necesita para comenzar. Luego lo profundizas con más práctica y entrenamiento. También necesita construir más familiaridad con otros algoritmos.