Data Structures & Algorithms 101: Tư duy thuật toán
Cấu trúc dữ liệu và thuật toán cho sinh viên: tìm kiếm, sắp xếp, ngăn xếp, hàng đợi, đệ quy, bảng băm, cây và đồ thị. Mỗi chương bắt đầu từ một bài toán thật; bạn xem, đoán, tự làm từng bước của thuật toán, cho chúng đua khi n lớn dần, và viết chúng bằng khối lệnh. Không cần biết lập trình trước.
- Cơ bản
- Khoảng 12 đến 15 giờ
- 10 chương
- 50 bài học
Đăng nhập bằng Google hoặc GitHub, khóa học sẽ mở trong Học viện bằng chính tài khoản đó.
Nội dung khóa học
Chương 1
Mở đầu
Bạn đang ở đâu?
Kiểm tra · 10 phút
Khoá học này học gì, học thế nào
Bài học · 8 phút
Chương 2
Thuật toán là một cách nghĩ
Đoán số trong bảy câu hỏi
Bài học · 8 phút
Chia đôi: thuật toán đằng sau
Bài học · 10 phút
Đếm bước, không đếm giây
Luyện tập · 10 phút
Ngoài đời và gọi tên bài toán
Bài học · 8 phút
Chương 3
Mảng và tìm kiếm
Một đơn hàng trong một triệu dòng
Bài học · 10 phút
Viết tìm kiếm tuần tự
Luyện tập · 12 phút
Tìm kiếm nhị phân trên mảng đã sắp
Bài học · 14 phút
Viết tìm kiếm nhị phân
Luyện tập · 15 phút
Đua: n so với log n
Luyện tập · 8 phút
Ngoài đời: chỉ mục của cơ sở dữ liệu
Bài học · 8 phút
Chương 4
Sắp xếp
Sắp theo lớp, rồi theo điểm
Bài học · 8 phút
Làm thuật toán: nổi bọt và chọn
Luyện tập · 12 phút
Sắp xếp chèn
Bài học · 12 phút
Viết sắp xếp chọn
Luyện tập · 15 phút
Chia để trị: sắp xếp trộn
Bài học · 14 phút
Sắp xếp nhanh
Bài học · 14 phút
Đua: n² so với n log n
Luyện tập · 10 phút
Ngoài đời: Timsort
Bài học · 8 phút
Chương 5
Ngăn xếp và hàng đợi
Hoàn tác và hàng chờ
Bài học · 10 phút
Bạn là ngăn xếp, bạn là hàng đợi
Luyện tập · 10 phút
Dấu ngoặc có cân bằng không?
Bài học · 12 phút
Hàng đợi trong một mảng
Luyện tập · 12 phút
Ngoài đời: ngăn xếp và hàng đợi
Bài học · 8 phút
Chương 6
Đệ quy
Thư mục nặng bao nhiêu?
Bài học · 10 phút
Tháp Hà Nội
Bài học · 14 phút
Fibonacci: tính đi tính lại
Bài học · 14 phút
Đua: có và không có ghi nhớ
Luyện tập · 6 phút
Ngoài đời: đệ quy
Bài học · 8 phút
Chương 7
Bảng băm
Tủ gửi đồ ở siêu thị
Bài học · 10 phút
Bạn là hàm băm
Luyện tập · 8 phút
Tải và gấp đôi
Bài học · 8 phút
Đua: danh sách hay bảng băm?
Luyện tập · 6 phút
Ngoài đời: bảng băm
Bài học · 8 phút
Chương 8
Cây
Trang bạn đang đọc là một cái cây
Bài học · 10 phút
Bạn dựng và tìm trên cây
Luyện tập · 12 phút
Bốn cách đi qua một cây
Bài học · 16 phút
Đua: cây cân hay cây lệch
Luyện tập · 8 phút
Ngoài đời: cây
Bài học · 8 phút
Chương 9
Đồ thị
Bạn bè, phố phường, gói phần mềm
Bài học · 12 phút
Gợi ý kết bạn: tìm theo chiều rộng
Bài học · 14 phút
Đi thật sâu rồi quay lại
Bài học · 16 phút
Karel trong bóng tối
Luyện tập · 20 phút
Thứ tự cài đặt: sắp xếp tô-pô
Bài học · 12 phút
Đường ngắn nhất qua phố cổ
Bài học · 22 phút
Nối mọi góc phố với ít cáp nhất
Bài học · 16 phút
Thử thách: Micromouse
Luyện tập · 45 phút
Ngoài đời: đồ thị
Bài học · 10 phút
Chương 10
Tổng kết
Nhìn lại chặng đường
Bài học · 8 phút
Bạn đã đi được bao xa?
Kiểm tra · 10 phút
Suy ngẫm cuối khoá
Bài học · 5 phút