Bộ tài liệu giảng dạy môn Cấu trúc dữ liệu & Giải thuật (CTDL>), tổ chức thành 49 chủ đề, mỗi chủ đề 1 folder gồm README.md giải thích khái niệm và (nếu cần trực quan hóa) một demo.html tương tác mở trực tiếp bằng trình duyệt.
Mục lục dưới đây nhóm theo 12 buổi học chính thức, cộng thêm phần mở rộng.
- Vai trò của cấu trúc dữ liệu
- Mối quan hệ giữa CTDL và giải thuật
- Tiêu chuẩn đánh giá CTDL
- Kiểu dữ liệu cơ bản
- Kiểu dữ liệu có cấu trúc (mảng, struct)
- Trừu tượng hóa dữ liệu (ADT)
- Khái niệm giải thuật & các cách mô tả
- Đặc trưng của giải thuật
- Đánh giá độ phức tạp giải thuật (Big-O)
- Ôn tập OOP trên C#
- Nhu cầu tìm kiếm & sắp xếp trong hệ thống thông tin
- Vấn đề tìm kiếm & tiêu chí đánh giá
- Tìm kiếm tuần tự (Linear Search)
- Tìm kiếm nhị phân (Binary Search)
- Khái niệm bài toán sắp xếp & tiêu chí đánh giá
- Đổi chỗ trực tiếp (Interchange Sort)
- Nổi bọt (Bubble Sort)
- Chọn trực tiếp (Selection Sort)
- Chèn trực tiếp (Insertion Sort)
- Khái niệm danh sách liên kết & so sánh với mảng
- Cấu tạo Node & các loại hình DSLK
- Khởi tạo và duyệt danh sách liên kết đơn
- Thêm node vào đầu/cuối danh sách
- Chèn node vào danh sách (theo vị trí/theo thứ tự)
- Xóa node khỏi danh sách
- Sắp xếp trên danh sách liên kết
- Danh sách liên kết đôi (giới thiệu)
- Danh sách liên kết vòng (giới thiệu)
- Khái niệm Stack (LIFO) & các thao tác
- Cài đặt Stack bằng mảng
- Cài đặt Stack bằng danh sách liên kết
- Ứng dụng Stack: tính giá trị biểu thức (Infix ↔ Postfix)
- Ứng dụng Stack: khử đệ quy
- Khái niệm Queue (FIFO) & các thao tác
- Cài đặt Queue bằng mảng (dạng vòng)
- Cài đặt Queue bằng danh sách liên kết
- Ứng dụng Queue: bộ đệm, quản lý tiến trình
- Khái niệm cây tổng quát & cách biểu diễn
- Cây nhị phân: tính chất & duyệt cây (NLR, LNR, LRN)
- Cây nhị phân tìm kiếm (BST): định nghĩa & thao tác thêm/tìm
- Xóa node khỏi BST (3 trường hợp: lá, 1 con, 2 con)
- Cây nhị phân tìm kiếm cân bằng — AVL: khái niệm & chỉ số cân bằng
Tiến độ soạn nội dung được theo dõi trong skill dsa-course.