동적 프로그래밍을 이해하려는 사람을위한 간단한 예 [닫힌]


96

동적 프로그래밍을 배우고 싶은 사람을 위해 이해하기 쉬운 예제를 찾고 있습니다. 여기에 동적 프로그래밍에 대한 좋은 답변이 있습니다 . 피보나치 수열은 좋은 예이지만 표면을 긁기에는 너무 작습니다. 아직 알고리즘 수업을 수강하지 않았음에도 불구하고 배우기에 좋은 주제 인 것 같습니다.

답변:


30

이 사이트를 확인하십시오 : 동적 프로그래밍 연습 문제


1
MIT video.mit.edu/watch/… 에서이 강의를보고 위의 문제를 해결하면 DP가 왜 도움이되는지 이해하는 데 도움이 될 것입니다.
pg2286

댓글의 YouTube 링크가 이미 끊어진 경우가 있습니다. 새 링크 : youtube.com/watch?v=OQ5jsbhAv_M
AJP

나는 그것이 매우 직관적으로 알고리즘의 하향식 및 상향식 (bottom-up) 측면 모두를 포함 발견 비디오 세트 체크 아웃 : youtube.com/playlist?list=PLx-Ye3Zw0WL0O_IDmbcVHlKqJuGEfw3VG
william007

MIT가 메인 페이지에서 MIT OpenCourseWare 페이지로 콘텐츠를 이동 한 것 같습니다. 따라서 제공된 링크 @ pg2286이 유효하지 않습니다. 링크는 이제 19입니다. Dynamic Programming I 전체 재생 목록 인 Introduction to Algorithms 도 사용할 수 있습니다.
rite2hhh


7

동적 프로그래밍의이면에있는 아이디어는 하위 문제에 대한 솔루션을 캐싱 (기억)한다는 것입니다.하지만 그 이상의 것이 있다고 생각합니다.

솔루션을 효율적으로 사용하려면 동적 프로그래밍이 필요한 Google Code Jam 문제가 많습니다. 예 :

Code Jam에 오신 것을 환영합니다 (보통)

부울 트리 속임수 (보통)

PermRLE (하드)

각 Code Jam 연습 콘테스트에는 문제 해결에 어려움을 겪고있는 경우를위한 "콘테스트 분석"섹션이 있습니다.


자원에 감사드립니다. 가끔씩 프로젝트 오일러에서 한두 가지 질문을 풀는데, DP에 대한 지식이 필요한 문제에 정말 갇혀있는 것 같습니다.
AraK

5
  1. Geeks for Geeks에는 다양한 동적 프로그래밍 문제 모음 이 있습니다. 면접을 준비하고 계시다면이 세트가 최고라고 생각합니다.
  2. DP 문제에 대한 작은 튜토리얼 비디오를 원한다면 MIT 에서이 문제 세트를 확인할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.