2012-05-14 3 views
5

USACO와 같은 프로그래밍 콘테스트 알고리즘을 배우는 가장 좋은 방법은 무엇입니까? 방금 실버 부서에 들어서면서 알고리즘 학습을 시작해야합니다. Dijkstra 's, Dynamic Programming, Flood-fill 등의 알고리즘과 기술을 Java로 배울 수있는 좋은 책이나 튜토리얼이 있습니까? 실제로 문제를 구현하는 방법을 실제로 알 수 있습니까? 도움을 많이 주셔서 감사합니다!프로그래밍 콘테스트 알고리즘을 어떻게 배울 수 있습니까?

+4

아마도 현지 대학에서 수업을 듣는 것이 가장 좋은 방법 일 것입니다. 그렇지 않으면 알고리즘에 대한 책을 선택하는 것도 다른 옵션입니다. –

+3

[프로그래밍 도전 과제] (http://www.amazon.com/Programming-Challenges-Steven-S-Skiena/dp/0387001638/ref=sr_1_1?ie=UTF8&qid=1336971355&sr=8-1)는 어떻습니까? –

+1

그들과 경쟁하십시오 – Bohemian

답변

4
  1. 실습! 이것이 가장 중요한 포인트입니다. 012:, UVA 등과 같이 온라인 심사 위원에서 정기적으로 문제를 해결하십시오. 더 많은 문제를 해결하면 프로그래밍 경진 대회에서 제기되는 질문의 유형과 형식을 익힐 수 있습니다. 이렇게하면 자신의 알고리즘을 도출하고 문제를 볼 수있는 능력이 향상됩니다.

  2. Introduction To Algorithm, Cormen을 얻으십시오. 알고리즘과 데이터 구조의 학습과 분석을위한 훌륭한 책입니다.

+0

[UVA] (http://uva.onlinejudge.com/) 링크가 깨졌습니다. – gahcep

+0

링크가 고정되었지만 UVA 사이트가 잠시 중단되었습니다. – nims

+2

CLRS (* Introduction to Algorithms *)는 초보자에게 가장 적합한 책이라고 생각합니다. 그것은 극도로 mathy하고 건조합니다. 대신 Vazirani와 Dasgupta의 알고리즘 *을 사용해보십시오. 프리 프레스 버전은 무료 PDF로 제공됩니다. 훨씬 더 매력적인 스타일로 작성되었지만 여전히 엄격한 기준으로 대부분의 요구 사항을 충족시키지 만 나중에 CLRS에서이를 얻을 수 있습니다. –

관련 문제