Tất cả khóa học
DSA 101Miễn phíKhoa học máy tính

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
Bắt đầu 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

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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