Các thuật toán và cấu trúc dữ liệu rất quan trọng đối với hầu hết các lập trình viên.
Chúng tôi vừa phát hành một khóa học trên kênh YouTube freeCodeCamp, đây là phần giới thiệu thân thiện với người mới bắt đầu về các cấu trúc dữ liệu phổ biến (danh sách được liên kết, ngăn xếp, hàng đợi, biểu đồ) và thuật toán (tìm kiếm, sắp xếp, đệ quy, lập trình động) trong Python.
Khóa học này sẽ giúp bạn chuẩn bị cho các cuộc phỏng vấn và đánh giá mã hóa. Trong khóa học này, bạn sẽ:
- Xem trực tiếp các video hướng dẫn tập trung vào mã hóa
- Thực hành mã hóa với sổ ghi chép đám mây Jupyter
- Giải quyết các câu hỏi từ các cuộc phỏng vấn lập trình thực tế
Aakash NS dạy khóa học này. Ông là người đồng sáng lập kiêm Giám đốc điều hành của Jovian và đã tạo ra nhiều khóa học nổi tiếng về học máy và lập trình.
Khóa học được chia thành một loạt các bài học, bài tập và dự án. Có các tệp Jupyter Notebook đi cùng với từng phần.
Đây là những gì được đề cập trong khóa học:
Bài 1 – Tìm kiếm nhị phân, Danh sách liên kết và Độ phức tạp
- Tìm kiếm tuyến tính và nhị phân
- Độ phức tạp và ký hiệu Big O
- Danh sách được liên kết sử dụng các lớp Python
Bài tập 1 – Thực hành tìm kiếm nhị phân
- Hiểu và giải quyết vấn đề một cách có hệ thống
- Thực hiện tìm kiếm tuyến tính và phân tích nó
- Tối ưu hóa giải pháp bằng tìm kiếm nhị phân
Bài 2 – Cây tìm kiếm nhị phân, duyệt và đệ quy
- Cây nhị phân, duyệt và đệ quy
- Cây tìm kiếm nhị phân & các hoạt động phổ biến
- Cây nhị phân cân bằng và tối ưu hóa
Bài tập 2 – Bảng băm và Từ điển Python
- Bảng băm từ đầu trong Python
- Xử lý va chạm bằng thăm dò tuyến tính
- Sao chép từ điển Python
Bài 3 – Thuật toán Sắp xếp và Chia để trị
- Sắp xếp bong bóng và Sắp xếp chèn
- Hợp nhất sắp xếp bằng cách sử dụng Chia & Chinh phục
- Quicksort và độ phức tạp trung bình
Bài tập 3 – Thực hành chia để trị
- Thực hiện phép nhân đa thức
- Tối ưu hóa bằng cách sử dụng chia để trị
- Phân tích độ phức tạp về thời gian và không gian
Bài 4 – Lập trình đệ quy và động
- Đệ quy và ghi nhớ
- Bài toán dãy con và cái ba lô
- Quay lui và cắt tỉa
Bài 5 – Thuật toán đồ thị (BFS, DFS & Đường đi ngắn nhất)
- Đồ thị, cây và danh sách kề
- Tìm kiếm theo chiều rộng và theo chiều sâu
- Đường đi ngắn nhất và đồ thị có hướng
Dự án – Giải pháp từng bước cho một vấn đề lập trình
- Chọn một vấn đề mã hóa thú vị
- Giải quyết vấn đề từng bước
- Viết tài liệu và trình bày giải pháp
Bài 6 – Câu hỏi phỏng vấn Python, Mẹo & Lời khuyên
- Câu hỏi và lời giải bài tập
- Mẹo để giải quyết các thách thức mã hóa
- Lời khuyên cho các cuộc phỏng vấn mã hóa
Xem khóa học bên dưới hoặc trên kênh YouTube freeCodeCamp.org (thời lượng xem 13 giờ).