.1.1 · Mảng
Mảng là gì, vì sao truy cập theo chỉ số là O(1), và khác biệt giữa mảng tĩnh (cố định) với mảng động (tự lớn lên).
.1.2 · Thao tác mảng
Độ phức tạp của truy cập, tìm kiếm, chèn, xóa trên mảng — và vì sao chèn/xóa ở đầu hay giữa tốn O(n).
.1.3 · Mảng nhiều chiều
Mảng 2 chiều (ma trận, lưới), cách đánh chỉ số hàng–cột, duyệt và độ phức tạp O(hàng × cột).
.1.4 · Chuỗi
Chuỗi là mảng của ký tự, tính bất bi ến (immutable), các thao tác cơ bản và bẫy hiệu năng khi nối chuỗi trong vòng lặp.
.1.5 · Bài toán chuỗi
Ba mẫu bài chuỗi kinh điển — kiểm tra palindrome, anagram, và đếm ký tự — cùng kỹ thuật hai con trỏ và bảng đếm.
.2.1 · Linked list đơn
Danh sách liên kết đơn là gì, khác mảng ra sao, vì sao không có truy cập ngẫu nhiên và duyệt là O(n).
.2.2 · Đôi & vòng
Danh sách liên kết đôi (có prev) cho phép đi ngược; danh sách vòng nối đuôi về đầu — ứng dụng và đánh đổi.
.2.3 · Chèn/xóa/đảo
Chèn và xóa nút bằng cách đổi con trỏ, và thuật toán đảo ngược danh sách liên kết kinh điển với ba con trỏ.
.2.4 · Mảng vs linked list
So sánh toàn diện mảng và danh sách liên kết về truy cập, thêm/xóa, bộ nhớ và tính cục bộ cache để biết khi nào chọn cái nào.
.3.1 · Stack
Ngăn xếp hoạt động theo LIFO (vào sau ra trước), các thao tác push/pop/peek đều O(1), và cách cài đặt.
.3.2 · Queue
Hàng đợi hoạt động theo FIFO (vào trước ra trước), vì sao không nên dùng list.pop(0), và cách cài đúng bằng deque.
.3.3 · Deque & circular buffer
Deque cho phép thêm/xóa cả hai đầu O(1); bộ đệm vòng (circular buffer) là hàng đợi kích thước cố định ghi đè phần tử cũ nhất.
.3.4 · Ứng dụng
Stack giải kiểm tra ngoặc, undo, DFS; queue giải BFS, lập lịch. Học qua bài kiểm tra cặp ngoặc cân bằng.
.4.1 · Hash table
Vì sao bảng băm tra cứu O(1) trung bình, hàm băm biến khóa thành chỉ số như thế nào, và đây là nền của dict/set.
.4.2 · Đụng độ
Khi hai khóa băm vào cùng một ô — hai cách giải quyết chính là nối chuỗi (chaining) và dò tuyến tính (open addressing).
.4.3 · Tải & rehash
Hệ số tải đo độ đầy của bảng băm; khi quá đầy thì rehash (mở rộng); vì sao trung bình O(1) nhưng xấu nhất O(n).