10.1 Cuốn sách tốt nhất - Cormen
Khi biên soạn khóa học này, mình dựa vào cuốn sách yêu thích của mình về thuật toán: Cormen "Introduction to Algorithms". Cuốn sách này là giáo trình giảng dạy tại MIT về Computer Science. Đây là hình ảnh của ấn bản thứ ba:
Đây là một cuốn sách kinh điển về thuật toán được sử dụng trong các trường đại học trên toàn thế giới. Nó bao phủ một loạt các thuật toán và cấu trúc dữ liệu, bao gồm sắp xếp, tìm kiếm, thuật toán đồ thị, lập trình động và nhiều hơn nữa.
Nó cũng bao gồm các cơ sở lý thuyết, như phân tích độ phức tạp của thuật toán. Các ví dụ được trình bày dưới dạng pseudocode, dễ dàng chuyển đổi sang bất kỳ ngôn ngữ lập trình nào, bao gồm cả Python.
Sẽ hữu ích cho sinh viên Computer Science, sinh viên sau đại học và các nhà phát triển chuyên nghiệp.
Mình muốn khuyên các bạn nên đọc trước khi bắt đầu khóa học về thuật toán, nhưng đã quyết định để nó vào cuối – để không làm các bạn sợ. Cuốn sách có 1000 trang và nặng khoảng hai kilogram.
10.2 Grokking Algorithms
Cuốn sách thứ hai là “Grokking Algorithms: An illustrated guide for programmers and other curious people” của Aditya Bhargava. Nó trông như thế này:
Cuốn sách được trình bày dưới dạng trực quan và dễ hiểu, làm cho nó trở nên lý tưởng cho người mới bắt đầu. Trong sách có nhiều hình minh họa để giải thích cách thuật toán hoạt động. Mỗi phần đều xem xét các thuật toán khác nhau, bắt đầu từ các khái niệm cơ bản và kết thúc với các chủ đề phức tạp hơn.
Các ví dụ được viết bằng Python, giúp người đọc áp dụng ngay kiến thức mới học vào thực tế. Sẽ hữu ích cho lập trình viên mới bắt đầu, sinh viên, và tất cả những ai muốn nhanh chóng nắm vững các khái niệm cơ bản về thuật toán.
10.3 Cấu trúc dữ liệu và thuật toán bằng Python
Đọc gì nữa? "Cấu trúc dữ liệu và thuật toán bằng Python". Bản gốc có tên "Data Structures and Algorithms in Python" của Michael T. Goodrich.
Cuốn sách là một bản chuyển thể của một giáo trình nổi tiếng về cấu trúc dữ liệu và thuật toán dành cho ngôn ngữ Python.
Nó bao phủ các cấu trúc dữ liệu và thuật toán từ cơ bản đến phức tạp, như mảng, danh sách, ngăn xếp, hàng đợi, cây, đồ thị và bảng băm. Cũng xem xét các thuật toán sắp xếp, tìm kiếm và nhiều thứ khác.
Các ví dụ và mã được viết bằng Python, điều này làm cho nó hữu ích cho các nhà phát triển làm việc với ngôn ngữ này. Đối tượng độc giả: sinh viên, lập trình viên mới bắt đầu và tất cả những ai muốn học về cấu trúc dữ liệu và thuật toán với ngôn ngữ Python.
10.4 Thuật toán tóm tắt
Vẫn chưa đủ? Vậy thì mình có "Thuật toán tóm tắt" cho bạn
Cuốn sách cung cấp một hướng dẫn tóm tắt và thực tế về các thuật toán. Bao gồm mô tả và hiện thực hóa nhiều thuật toán khác nhau, như sắp xếp, tìm kiếm, thuật toán đồ thị và các loại khác. Cuốn sách chú trọng vào áp dụng thực tế của thuật toán.
Các ví dụ hiện thực được trình bày bằng Python và các ngôn ngữ lập trình khác. Những nhà phát triển chuyên nghiệp và kỹ sư sẽ quan tâm đến cuốn sách này, những người muốn nhanh chóng tìm kiếm và sử dụng thuật toán để giải quyết vấn đề của mình.
10.5 Thuật toán với Python
Làm sao để truyền cảm hứng cho các bạn nhỉ? À, mình muốn nói "truyền cảm hứng" :)
"Thuật toán với Python: Làm chủ các thuật toán cơ bản với ngôn ngữ Python"
Cuốn sách tập trung vào hiện thực và sử dụng các thuật toán cơ bản với Python. Bao gồm sắp xếp, tìm kiếm, cây, đồ thị và nhiều thuật toán khác. Các ví dụ mã bằng Python và giải thích từng bước làm cho nó trở thành lựa chọn lý tưởng cho những ai muốn đào sâu kiến thức của mình.
Phù hợp với các Python-developer có kiến thức cơ bản, muốn nắm vững thuật toán trong thực tế.
GO TO FULL VERSION