Opencourse: Nhập môn Thuật toán

Chắc hẳn nhiều người trong chúng ta đều biết đến một trong những bài giảng video nổi tiếng ở MIT, Introduction to Algorithms (Nhập mônThuật toán), dựa trên một quyển sách giáo khoa cũng rất rất nổi tiếng (với tựa đề trùng với tên khóa học),  và các bài giảng này được chính một số giáo sư của MIT và cũng là các tác giả của quyển sách này tiến hành. Nếu bạn đang là sinh viên và trong chương trình học của bạn có một môn học là Thuật toán thì đây quả là một nơi tham khảo quá tốt, nếu bạn là người sử dụng các thuật toán và tự thiết kế các thuật toán, giống như bản thân tôi, thì những bài giảng này cũng giúp bạn được rất nhiều.

Quay lại lịch sử một chút, tôi đã xem một số bài giảng trong tổng số 23 bài giảng (mỗi bài giảng khoảng 1 giờ 20 phút) khi tôi cần nắm lại một số kiến thức cho công việc của mình. Tôi cũng có ý định tổng hợp lại những ghi chép của mình cũng như một số thông tin ngoài lệ nhưng tôi lười quá nên không thực hiện được. Thời gian cứ thế trôi qua…

Lần này, tình cờ tìm thấy ở blog của Peteris Krumins những thứ tương tự như ý định của tôi, nhưng tất nhiên ở một trình độ cao và có hệ thống hơn nhiều. Ý nghĩ đầu tiên xuất hiện trong đầu là tôi sẽ dịch sang tiếng Việt để các bạn theo dõi dễ hơn và hiệu quả hơn. Những ý nghĩ này ngay sau đấy có vấn đề không ổn; thứ nhất là bản quyền; thứ hai, dù sao đi nữa bài giảng gốc cũng bằng tiếng Anh; thứ ba, ở trong blog của Krumins cũng còn có nhiều tài nguyên khác phụ trợ; thứ tư, có lẽ tôi cần thấm nhuần tư duy “khả năng tái sử dụng” và “tôn trọng tính riêng tư” để tránh phải làm lại cái người khác đã đầu tư không ít thời gian và tâm huyết, để tránh lãng phí thời gian, và để cho mình tránh tái tạo tư duy của người khác hơn là nói suy nghĩ của mình.

Krumins nhóm các bài giảng theo các chủ đề và viết các blog cũng như các ghi chép của anh ta trong quá trình theo dõi bài giảng. Sau đây là các đường dẫn đến các blog:

  1. Bài giảng 1 và 2 (Phân tích các Thuật toán và Các ký hiệu tiệm cận) (bài giảng thứ 2 được thực hiện bởi một giáo sư của MIT rất xuất sắc (trở thành giáo sư của MIT khi 20 tuổi))
  2. Bài giảng 3 (Chia để trị)
  3. Bài giảng 4 và 5 (Sắp xếp và Các cận dưới của các phương pháp sắp xếp và sắp xếp tuyến tính)
  4. Bài giảng 6 (Thứ tự thống kê)
  5. Bài giảng 7 và 8 (Băm)
  6. Bài giảng 9 và 10 (Cây tìm kiếm)
  7. Bài giảng 11 (Gia giảm các cấu trúc dữ liệu)
  8. Bài giảng 12 (Skip List) (Tôi chưa biết thuật ngữ tiếng Việt cho cấu trúc dữ liệu này, Skip List)
  9. Bài giảng 13 và 14 (Amortized Analysis và Danh sách Tự tổ chức) (Tôi chưa biết thuật ngữ tiếng Việt cho cách phân tích này, Amortized Analysis)
  10. Bài giảng 15 (Thuật toán Quy hoạch động)
  11. Bài giảng 16 (Thuật toán Tham lam)
  12. Bài giảng 17, 18 và 19 (Các Thuật toán Tìm đường đi ngắn nhất)
  13. Đón chờ các blog tiếp…

Hy vọng các bạn đã tìm thấy thuật toán của riêng mình để xử lý hết những thông tin trên!

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: