2012-05-14 13 views
5

¿Cuáles son las mejores formas de aprender algoritmos para concursos de programación como USACO? Necesito comenzar a aprender algoritmos ya que acabo de ingresar a la división de plata. ¿Existen buenos libros o tutoriales para aprender algoritmos y técnicas tales como Dijkstra, programación dinámica, relleno de inundación, etc. en Java y realmente ser capaz de saber cómo implementarlos para los problemas? ¡Muchas gracias por la ayuda!¿Cómo puedo aprender algoritmos para concursos de programación?

+4

Tomar una clase en una universidad local es probablemente el mejor lugar para comenzar. De lo contrario, elegir otro libro sobre algoritmos es otra opción. –

+3

¿Qué tal el libro [Desafíos de programación] (http://www.amazon.com/Programming-Challenges-Steven-S-Skiena/dp/0387001638/ref=sr_1_1?ie=UTF8&qid=1336971355&sr=8-1)? –

+1

Compite en ellas – Bohemian

Respuesta

4
  1. PRACTICE! Este es el punto mas importante. resuelva problemas regularmente en jueces en línea como SPOJ, UVA, etc. Resolver más problemas lo familiarizará con el tipo y el formato de las preguntas que se hacen en los concursos de programación. De esta manera, también aumentará su capacidad para derivar sus propios algoritmos y ver a través de los problemas.

  2. Obtenga Introduction To Algorithm, Cormen. Es un excelente libro para aprender y analizar algoritmos y estructuras de datos.

+0

[UVA] (http://uva.onlinejudge.com/) el enlace parece estar roto – gahcep

+0

enlace fijo, pero el sitio de UVA está desactivado por el momento. – nims

+2

No estoy de acuerdo con que CLRS (* Introducción a Algoritmos *) sea el mejor libro para principiantes. Es extremadamente mathy y seco. En su lugar, pruebe los algoritmos * de Vazirani y Dasgupta *: la versión de preimpresión está disponible en formato PDF gratuito: Google para ello. Está escrito en un estilo mucho más atractivo, y aún logra alcanzar la mayoría de los puntos requeridos, tal vez con menos rigor, pero luego puedes obtenerlo de CLRS. –

Cuestiones relacionadas