¿Dónde comienzo para las habilidades algorítmicas y de resolución de problemas?

Según algoritmos de aprendizaje y estructuras de datos:

Si prefieres ver videos de tutoriales, te recomiendo estos tutoriales, cualquiera de ellos te ayudará:
Diseño y análisis de algoritmos por Stanford:
Parte 1: Algoritmos: Diseño y Análisis, Parte 1
Parte 2 : Algoritmos: Diseño y análisis, Parte 2

Introducción a los algoritmos por MIT:
Introducción a los algoritmos (SMA 5503)

Si prefieres leer libros, te recomiendo alguno de estos libros:

CLRS: Introducción a los algoritmos, 3ª edición (MIT Press): Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848: Amazon.com: Libros

Algorithms Unlocked: Algorithms Unlocked (MIT Press): Thomas H. Cormen: 9780262518802: Amazon.com: Libros

Programación competitiva 3: Programación competitiva, 3ª edición: Steven Halim: Amazon.com: Libros

Creo que el primero y el segundo libros están disponibles de forma gratuita en línea, pero el tercero no es gratis, puede comprarlo o puede buscar la segunda edición, creo que es gratis, pero tenga cuidado de que la tercera edición Tiene muchas adiciones que son geniales.

Según inicio de programación competitiva:

Respuesta de:

La respuesta de Abdelrahman Hamdy a ¿Cuáles son los conceptos que uno debe saber antes de ir a la programación competitiva?

Según los conocimientos y conceptos físicos:

  • Solo necesitas poder pensar en cualquier lenguaje de programación como C ++.
  • Algunos antecedentes matemáticos básicos en diferentes áreas, como la teoría de los números y la probabilidad, pero en realidad se pueden aprender solo resolviendo problemas, por lo que no es necesario conocerlos antes de comenzar.

Según el conocimiento y conceptos espirituales y mentales:

  • La programación competitiva es lo mejor de todo el mundo para un programador.
  • No es una obligación para que lo hagas, así que si no estás interesado, no lo hagas, es un deporte, no juegas al baloncesto, eres alto, ¿verdad? así que no solo debes hacer programación competitiva solo porque sabes programación.
  • Es un deporte: Comenzar con el deporte de la programación como cualquier otro deporte mental, como el ajedrez, diviértete y no lo consideres como un deber.
  • La práctica hace perfecto, seguro, así que practica.
  • No tener un coeficiente intelectual muy alto puede compensarse trabajando duro y practicando bien y mucho.
  • Tendrá algunos altibajos, y es muy poco profundo, es natural, recién comenzará, y mucha gente comenzó hace años, así que tienen mucha experiencia más que usted, pero aún puede ser un héroe y vencerlos. todos
  • Siempre inspirate y motívate, este video es genial, es de la competencia ACM ICPC 2013:
  • No tengas miedo de las competiciones, solo ve, hazlo, resuélvelo, sé genial y, si quieres ser único en ese campo, simplemente determina eso.

También puedes ver las otras respuestas:
¿Cuáles son los conceptos que uno debe saber antes de ir a la programación competitiva?

Comience con saber qué es un algoritmo y qué hace.

En segundo lugar, sigue leyendo algún libro, recomendaría Cormen (El mejor libro del algoritmo).

Eventualmente, aprenderá sobre cómo y qué hacer con la eficiencia de algo.

Y quizás algún día se te ocurra un algoritmo que te cambie la vida.

Todo lo mejor

Ummm … No resuelves algoritmos, los usas para resolver problemas que son adecuados para eso.

Le sugiero que compre un libro del tipo “Programación para Dummies” (no sarcasmo por cierto, he aprendido muchísimo de tales libros) y obtenga una comprensión básica de qué es la programación. Cuando tenga una buena comprensión general de esto, verá el papel de los algoritmos en la programación.

Comience aquí: http://lifehacker.com/top-10-way

Algoritmos y estructuras de datos serían un libro. Pero “un algoritmo” es “un proceso o un conjunto de reglas que deben seguirse en las operaciones de resolución de problemas”, por lo que no aprendes algoritmos, aprendes cómo desarrollar un algoritmo para resolver el problema en el que estás trabajando. (No hay un “conjunto estándar de algoritmos”, como tampoco hay un “conjunto estándar de soluciones a los problemas de la vida”, porque un algoritmo es una solución a un problema).