2009-10-08 28 views
84

Tôi đang tìm một ví dụ dễ hiểu cho người muốn học lập trình động. There are nice answers here about what is dynamic programming. Chuỗi fibonacci là một ví dụ tuyệt vời, nhưng nó quá nhỏ để làm xước bề mặt. Có vẻ như một chủ đề tuyệt vời để tìm hiểu về mặc dù tôi chưa học lớp thuật toán, hy vọng nó nằm trong danh sách của tôi cho mùa xuân.Một ví dụ đơn giản cho ai đó muốn hiểu Lập trình động

Trả lời

4

Tính khoảng cách Levenshtein là một trong những vấn đề đầu tiên tôi đã giải quyết bằng lập trình động; Tôi nghĩ rằng đó là một bước tiếp theo khá tốt từ chuỗi Fibonacci về độ phức tạp.

http://en.wikipedia.org/wiki/Levenshtein_distance

28

Kiểm tra trang web này: Dynamic Programming Practice Problems

+1

Xem bài giảng này từ MIT http://video.mit.edu/watch/introduction-to-algorithms-lecture-19-dynamic-programming-i-fibonacci-shortest-paths-14225/ và sau đó giải các vấn đề trên , sẽ giúp bạn hiểu tại sao DP lại hữu ích. – user504879

+0

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/17995545) – kometen

6

Ý tưởng đằng sau quy hoạch động là bạn đang nhớ đệm (memoizing) giải pháp cho bài toán, mặc dù tôi nghĩ có nhiều điều hơn thế.

Có nhiều sự cố về Google Code Jam để các giải pháp yêu cầu lập trình động phải hiệu quả. Ví dụ:

Welcome to Code Jam (moderate)

Cheating a Boolean Tree (moderate)

PermRLE (hard)

Lưu ý rằng mỗi người trong các cuộc thi thực hành Mã Jam có một "Phân tích Cuộc thi" để biết nếu bạn đang bối rối cố gắng để giải quyết vấn đề.

+0

Cảm ơn các tài nguyên. Tôi giải quyết một hoặc hai câu hỏi từ dự án euler theo thời gian, và có vẻ như tôi thực sự bị mắc kẹt ở một số vấn đề cần kiến ​​thức về DP. – AraK

5
  1. Geeks for geeks có số lượng lớn collection các vấn đề về lập trình động. Tôi cảm thấy bộ này là một trong những điều tốt nhất nếu bạn chuẩn bị cho cuộc phỏng vấn.
  2. Nếu bạn muốn các video hướng dẫn nhỏ về các sự cố DP, bạn có thể kiểm tra this vấn đề được đặt từ MIT.
Các vấn đề liên quan