¿Tengo que hacer programación competitiva si estoy aprendiendo la estructura de datos y los algoritmos, mientras que la programación competitiva me distrae o primero tengo que aprender la estructura de datos y el algoritmo por completo y luego saltar a la programación competitiva?

Sí, por qué no debe hacer una programación competitiva mientras aprende la estructura de datos. Tienes que entender que el aprendizaje nunca termina. Pero para eso tienes que pararte con las manos abiertas. Vamos a relacionarlo con el ejemplo de la vida real si virat kohli piensa que una vez que domine sus habilidades, solo comenzará a jugar, no se convertirá en lo que es hoy.

No creo que obtenga una mejor plataforma que la programación competitiva para mejorar sus habilidades. Sí, por su punto sobre distraerlo, no puedo sentir que esto podría ser, puede ser que no sea capaz de anotar lo suficiente, lo que podría derribarlo, pero entiendo que nos caímos para poder retroceder con fuerza. Participa, toma el problema como desafío e intenta resolverlo. Después del final de la competencia, observe la solución del problema y analícelo con la solución de lo que se ha perdido. En el algoritmo de estructura de datos, la parte es muy esencial ya que proporciona una base para resolver cualquier problema. Sea justo con su concepto de comprensión de cualquier búsqueda o clasificación, luego intente corregir algo por sí mismo. Al hacerlo, te abrirás.

Definitivamente continúe el proceso de aprendizaje por medio de tuts web, cualquier canal de YouTube o servicios pagos.

Salud. Feliz codificación.

He tratado de aprender un tema mientras me aclaro con la programación competitiva. Le sugiero que primero intente aprender suficientes conceptos básicos y practique tantas soluciones de programación como sea posible.

Sigue esto

  • Aprende a codificar
  • Código para aprender

Solo cuando comience a codificar mientras aprende, encontrará la forma más rápida de resolver problemas y le ayudará a obtener los conceptos básicos.

Puede usar estos métodos para aumentar su fondo de codificación

  1. TechParoksha ( no todos los tutores están disponibles, pero los que están disponibles son increíbles )
  2. Tutoriales de ciencia de datos ( no vaya con el nombre )
  3. Algoritmos – GeeksforGeeks
  4. Codechef – sección para principiantes
  5. Pistas y problemas de práctica
  6. También varios recursos en línea que he mencionado a continuación.

También puede probar A2 Online Judge y encontrar problemas basados ​​en ese tema en particular. Prefiero Sphere Online Judge (SPOJ) como mi juez en línea favorito. Pero preferiría elegir Codeforces si tuviera que resolver más problemas en lugar de problemas más difíciles. Mejoran tu experiencia de codificación.

También intente codificar lo que aprenda, lo ayudará a resolver muchos más problemas.

Algunos libros geniales para comprar

The Algorithm Design Manual: Steven S Skiena: 8601404387784: Amazon.com: Libros

The Mythical Man-Month: Ensayos sobre ingeniería de software, edición de aniversario (2da edición): Frederick P. Brooks Jr .: 8580001065793: Amazon.com: Libros

Amazon.com: Paquete de algoritmos en C ++, partes 1-5: Fundamentos, estructuras de datos, clasificación, búsqueda y algoritmos de gráficos (3a edición) (Pts. 1-5) (0785342726848): Robert Sedgewick: Libros

Además, si está interesado en cómo practicar para la codificación competitiva, consulte a continuación

La respuesta de Lingesh K a ¿Cuál era su estrategia cuando practicaba la codificación competitiva?

Gracias por A2A

No. No tiene que aprender programación competitiva si está aprendiendo estructuras de datos y algoritmos. Sin embargo, lo contrario es cierto si pretendes ser un buen programador competitivo.

Al aprender Algoritmos y Estructuras de datos, obtienes algunos conocimientos sobre estos temas. Puede elegir si desea aplicar los conocimientos que ha aprendido sobre estos temas a un campo que depende en gran medida de estos temas (programación competitiva).

Muchas personas a menudo prefieren comenzar la programación competitiva cuando aprenden estructuras de datos y algoritmos, especialmente porque la programación competitiva ayuda a fortalecer su comprensión de las estructuras de datos y los algoritmos. Definitivamente no es una distracción. Además, también lleva a muchos reclutadores de las principales empresas a contactarlo si tiene un buen desempeño en concursos de programación competitiva.

Debido a que no necesariamente tiene que aprender estructuras de datos y algoritmos por completo antes de sumergirse en la programación competitiva, le sugiero que pueda aprender sobre la marcha. Practique lo que haya aprendido sobre estructuras de datos y algoritmos haciendo problemas de programación competitiva.

Gracias, Vivek Shah y Prathamesh More, por solicitar esta respuesta.

Después de un poco de experiencia, puedo decirle que los primeros 3 problemas de (digamos) 8 requerirán que implemente alguna lógica que surja. No requerirá algoritmos más avanzados que ordenar o buscar, y el resto de las preguntas serán preguntas basadas en algoritmos basados ​​en giros. Si sigues ignorando los algoritmos de aprendizaje, entonces lo que harás es esencialmente perder tu tiempo haciendo los primeros 3 problemas.

En resumen, te diré que aprendas primero los algoritmos. Use este libro La primera edición de la programación competitiva es gratuita.

Vea los tutoriales de codeforces y topcoder y resuelva preguntas sobre el juez Uva según el libro de CP que acabo de escribir. Después de aprender cuáles son los algoritmos básicos, puede intentar concursos de codeforces en modo virtual. Lea los editoriales sobre cómo la implementación utilizó algunos trucos inteligentes sobre los algoritmos y ds que ha aprendido hasta ahora. Tomará tiempo, pero creo que esta es la mejor estrategia para mí. No soy realmente un experto, por lo que puede esperar mejores respuestas, es su elección.

¡Buena suerte!

Prefiero sugerirle que lo pruebe usted mismo y vea lo que funciona para usted. Todos tienen su propio camino. Una cosa es segura, necesitará práctica constante, ya sea a través de programación competitiva o práctica a su manera. Cuando practique por su cuenta, trate de buscar soluciones más óptimas, no se conforme con la primera solución de trabajo y luego busque en línea para evaluar cómo le está yendo. Este ciclo de retroalimentación es importante cuando practicas por tu cuenta. Espero que esto ayude.

Gracias por el A2A.

La programación competitiva es una forma divertida de aprender sobre estructuras de datos y algoritmos. Incluso le ayuda a evaluar sus habilidades y ver qué necesita mejorar. Si tiene conocimientos básicos, entonces está más que listo para lanzarse al mundo de la programación competitiva. No necesitas ser un experto para unirte a competencias, puedes aprender mientras compites. No te unas para ganar, únete para aprender.

Depende de si eres una persona de arriba hacia abajo o de abajo hacia arriba. Soy una persona de abajo hacia arriba, así que exploro los ejercicios primero antes de aprender teorías. Siento de esa manera que habilito mi cerebro para explorar y reinventar las teorías existentes con una perspectiva diferente. Pero hacer esto si no puede resolver nada, solo se sumaría a la frustración y sentirá que es mejor cubrir primero las teorías.

¿Qué es la resolución de problemas? Lo considero como la capacidad de aplicar su conocimiento conocido en situaciones desconocidas. Si también se conoce la situación, ya no es un problema y si el conocimiento requerido está tan lejos de ser una solución que su cerebro no puede igualar ningún patrón, entonces ese es un esfuerzo inútil.

Lo mismo vale para la programación competitiva también. Hacer un balance es aprender teoría al mismo tiempo y al mismo tiempo darle a su cerebro suficiente ejercicio para ver hasta dónde puede explorar sin conocer las teorías exactas. Una vez que ingrese al juego, comprenderá automáticamente cuál es el equilibrio adecuado para usted, ya no tendrá que preguntarlo en quora.

Aprender todas las estructuras de datos y algoritmos a la vez no sirve de nada, pero tener una idea básica sobre ellos será beneficioso (solo sepa cuáles son). Comience por aprender las estructuras de datos básicos y dominarlas solo se puede lograr haciendo problemas en ellas. En lo que respecta a los algoritmos de aprendizaje, los aprendí principalmente mientras buscaba la solución más eficiente para un problema. Y cuando su base sea lo suficientemente sólida, puede pasar a las estructuras y algoritmos de datos avanzados.

Se recomienda que practique esas preguntas competitivas de programación si desea fortalecerse en DS y Algoritmos porque le enseñará cómo usarlos de manera efectiva.

Y el procedimiento para hacer esas cosas es primero aprender un concepto en DSA y luego resolver problemas relacionados con ese concepto en la programación competitiva.

Aprendí DSA y CP de la serie de tutoriales codemonk de Hackerearth. Espero eso ayude.

Aprende y sigue resolviendo. Esperar a que terminemos de aprender todos los algoritmos no funcionará muy bien.

More Interesting

Si está utilizando Java durante las entrevistas algorítmicas, ¿puede omitir las clases de escritura y acceder directamente a los métodos?

¿Qué es un algoritmo fácil de implementar para estimar la complejidad de Kolmogorov de una secuencia finita?

Cómo agregar un contador de comparación para combinar la clasificación en Python

¿Cuál es el mejor algoritmo para encontrar la ruta más corta en un gráfico orientado, donde algunos bordes están bloqueados y las teclas están en algún lugar de los nodos?

¿Cuáles son algunas estrategias para principiantes para los algoritmos comerciales?

¿Qué razones hay para aprender sobre algoritmos informáticos si no eres un informático?

¿Los comerciantes algorítmicos institucionales necesitan tener una sólida comprensión de la microestructura del mercado?

¿Cuáles son algunos de los diferentes casos que debería considerar usar matrices bidimensionales sobre matrices unidimensionales en Java?

¿Cómo funciona el algoritmo de Google Maps?

¿Cuál es el propósito del binario?

¿Qué es lo mejor que puedes hacer si te quedas atrapado en un problema en SPOJ?

¿Cuál es el mejor curso para algoritmos y estructuras de datos?

¿Cómo podemos revertir una pila usando solo las operaciones push () y pop () sin usar ningún DS secundario?

¿Qué debo hacer después de aprender Java central y resolver problemas de algoritmos y estructura de datos en HackerRank, CodeChef, etc.?

¿Cómo funcionará este caché asociativo con el algoritmo de reemplazo de LRU?