Tôi nghĩ các khóa học về thiết kế thuật toán và độ phức tạp tính toán luôn là thử thách đối với những sinh viên không quen thuộc với các môn học này bởi vì họ yêu cầu một số mức độ trưởng thành toán học và kỹ năng giải quyết vấn đề. Trong khóa học sau đại học đầu tiên của tôi về "độ phức tạp tính toán", một người bạn của tôi có bằng toán học thuần túy đã nói với tôi rằng anh ta đã ngạc nhiên như thế nào bởi vì mặc dù khóa học đó không đòi hỏi nhiều nền tảng toán học (ít nhất đó là những gì được kể trong đề cương khóa học), nó thực sự đòi hỏi gần như tất cả các kỹ năng anh ta có được thông qua tất cả các bằng cấp toán học thuần túy của mình!
Tôi thấy rằng tôi đã biết về "cách" nhất (khi tôi mới bắt đầu học cao học) bằng cách đọc và làm bài tập từ cuốn sách của Sipser . Hãy chắc chắn rằng bạn thực hiện các bài tập vì kỹ năng giải quyết vấn đề và sự trưởng thành toán học là những gì bạn muốn học và không chỉ là một loạt các sự kiện hoặc định nghĩa.
Tuy nhiên, cuốn sách của Sipser chỉ tốt cho những thứ phức tạp và đầy đủ NP, nó sẽ không đủ để thay thế cuốn sách CLRS. Vấn đề duy nhất với cuốn sách CLRS là lợi thế của nó về phạm vi bảo hiểm toàn diện có thể trở thành điểm yếu của nó vì cuốn sách có thể trông khá đáng sợ hoặc quá sức đối với học sinh. Vì vậy, lời khuyên của tôi là bạn thực sự nên đến thư viện và tìm kiếm các cuốn sách về thuật toán, quét qua từng cái một và chọn những cuốn phù hợp với mô hình suy nghĩ của bạn nhất. Và một lần nữa đừng quên tập thể dục!
Đối với các thuật toán, cá nhân tôi đề xuất các cuốn sách sau (bên cạnh những cuốn sách được đề xuất bởi Sadeq và JeffE):
- Các thuật toán cuốn sách rất dễ đọc và đẹp của S. Dasgupta, CH Papadimitriou, và UV Vazirani.
- Kẻ giết người ghi chú (hoặc bản thảo sách) của Jeff Erickson. (Vì JeffE quá khiêm tốn để đề xuất ghi chú của riêng mình, tôi phải tự làm điều đó.)
Nói chung, bất cứ khi nào bạn nghiên cứu một thuật toán hoặc cấu trúc dữ liệu nhất định, nếu bằng cách nào đó, phần trình bày trong sách giáo khoa của bạn không đủ rõ ràng cho bạn, thì cách tốt nhất là tìm kiếm trên google để ghi chú bài giảng về chủ đề cụ thể đó. Trong các trường hợp có thể, những lời giải thích khác nhau về cùng một thứ cuối cùng sẽ cho bạn bức tranh hoàn chỉnh. Ít nhất, đó là cách nó hoạt động với tôi.