Discrete Mathematics
Toán Rời Rạc Dành Cho CNTT
Giảng dạy bởi ThS. Lê Thanh Sơn. Hệ thống bài giảng cấu trúc hóa trực quan trọn vẹn từ Bài 1 (Tập hợp), Bài 2 (Logic), Bài 3 (Đại số Boole), Bài 4 (Hàm số), Bài 5 (Quan hệ), Bài 6 (Quy nạp), Bài 7 (Lý thuyết số), Bài 8 (Xác suất rời rạc) đến Bài 9 (Lý thuyết đồ thị & Mạng luồng) và Bài 10 (Cây & Mã hóa Huffman), kèm 50 bài thực hành có giải thích chi tiết.
Bài 1: Lý Thuyết Tập Hợp (Set Theory)
Sơ đồ ôn tập kiến thức Bài 1
- • Phần tử & Tập hợp: Liệt kê hoặc Nêu tính chất
- • Lực lượng: $|X|$ (số phần tử), Tập rỗng $\emptyset$
- • Tập con ($X \subseteq Y$) & Tập con thực sự
- • Tập lũy thừa: $\mathcal{P}(X)$ có đúng $2^n$ phần tử
- • Hợp ($A \cup B$), Giao ($A \cap B$)
- • Hiệu ($A \setminus B$), Phần bù ($\overline{A} = U \setminus A$)
- • Hiệu đối xứng: $A \triangle B = (A \cup B) \setminus (A \cap B)$
- • 11 Luật Đại số Tập hợp (De Morgan, Hấp thụ...)
- • Phân hoạch (Partition): Rời nhau & hợp thành $X$
- • Tích Đề-các: $X \times Y = \{(x,y) \mid x \in X, y \in Y\}$
- • Chuẩn $\|A\|_0$: Đếm số phần tử khác $0$ (Sparse)
- • Bài toán Compressive Sensing (Nén đo lường)
Bảng 11 Luật Đại Số Tập Hợp (Set Calculus) Được trích từ trang 2 - W1-notes.pdf
| Tên Quy Tắc | Công thức Phép Hợp ($\cup$) | Công thức Phép Giao ($\cap$) | Mẹo ghi nhớ |
|---|---|---|---|
| Kết hợp (Associative) | $(A \cup B) \cup C = A \cup (B \cup C)$ | $(A \cap B) \cap C = A \cap (B \cap C)$ | Cùng phép toán đổi ngoặc tự do |
| Giao hoán (Commutative) | $A \cup B = B \cup A$ | $A \cap B = B \cap A$ | Đổi chỗ không đổi kết quả |
| Phân phối (Distributive) | $A \cup (B \cap C) = (A \cup B) \cap (A \cup C)$ | $A \cap (B \cup C) = (A \cap B) \cup (A \cap C)$ | Giống như nhân với một tổng |
| Trung hòa (Identity) | $A \cup \emptyset = A$ | $A \cap U = A$ | Hợp với rỗng hay giao với vũ trụ |
| Phần bù (Complement) | $A \cup \overline{A} = U$ | $A \cap \overline{A} = \emptyset$ | Tập hợp và ngoài tập hợp |
| De Morgan's Laws | $\overline{A \cup B} = \overline{A} \cap \overline{B}$ | $\overline{A \cap B} = \overline{A} \cup \overline{B}$ | Phá gạch đầu đổi $\cup \leftrightarrow \cap$ |
5 Bài Thực Hành Minh Họa Bài 1 (Có Lời Giải Từng Bước)
Các phép toán tập hợp trong tập số tự nhiên
Cho $U = \{1, 2, \dots, 10\}$, $A = \{1, 4, 7, 10\}$, $B = \{1, 2, 3, 4, 5\}$, $C = \{2, 4, 6, 8\}$. Tính $\overline{B} \cap (C \setminus A)$ và $(A \cup B) \setminus (C \setminus B)$.
Lực lượng tập hợp và Số lượng tập con của tập lũy thừa
Tìm $|S|$ với $S = \{\{a\}, \{a, b\}, \{a, c\}, a, b\}$ và số tập con thực sự của tập hợp 10 phần tử.
Tính $\overline{A} \setminus \overline{B}$ trên tập vô hạn $\mathbb{Z}_0^+$
Cho $A = \{2x+5 \mid x \in \mathbb{Z}_0^+\}$ và $B = \{0, 1, \dots, 9\}$. Tính $\overline{A} \setminus \overline{B}$.
Liệt kê tất cả các Phân hoạch (Partitions) của tập hợp 3 phần tử
Tìm tất cả các phân hoạch khả dĩ của tập $X = \{a, b, c\}$.
Tập các Vector thưa (Sparse Vectors) $A_1$ trong $\mathbb{R}^2$
Xét $A_1 = \{x \in \mathbb{R}^2 \mid \|x\|_0 \le 1\}$. Xác định hình học của $A_1$, $\overline{A_1}$ và tính $S = \{x+y \mid x,y \in A_1\}$.
Bài 2: Logic và Phương Pháp Chứng Minh (Logic & Proofs)
Các Quy Tắc Suy Luận Chuẩn (Inference Rules)
4 Phương Pháp Chứng Minh Toán Học
- 1. Trực tiếp (Direct Proof): Giả sử $p$ đúng, áp dụng định lý suy ra $q$ đúng.
- 2. Phản ví dụ (Counterexample): Chỉ ra một $x_0$ duy nhất để $\forall x P(x)$ bị sai.
- 3. Phản đảo (Contrapositive): Thay vì chứng minh $p \rightarrow q$, ta chứng minh $\neg q \rightarrow \neg p$.
- 4. Phản chứng (Contradiction): Giả sử $p \wedge \neg q$ cùng xảy ra rồi suy ra mâu thuẫn ($!$).
5 Bài Thực Hành Minh Họa Bài 2 (Có Lời Giải Từng Bước)
Mệnh đề Đảo, Phản Đảo và Phủ định
Xác định tính đúng/sai và viết mệnh đề đảo, phản đảo của: "Nếu $4 < 6$ thì $9 > 12$".
Kiểm tra tính kết hợp của phép Kéo Theo
Chứng minh rằng $(p \rightarrow q) \rightarrow r \not\equiv p \rightarrow (q \rightarrow r)$.
Lượng từ lồng nhau trên tập số nguyên dương $\mathbb{Z}^+$
Cho $P(x, y): x \ge y$. Xét tính chân trị của $\forall x \exists y P(x, y)$ và $\exists x \forall y P(x, y)$.
Ứng dụng Modus Tollens vào Gỡ Lỗi Lập Trình
Cho đoạn mã: `if (x > 3 and x < 5) or y != 2, then z = 8.` Khi debug thấy $z = 7$, suy ra điều gì về $x$ và $y$?
Chứng minh quan hệ trên tích Đề-các và tập đường chéo
Cho $U_{[2]} = \{(x, x) \mid x \in U\}$. Chứng minh rằng nếu $(x, y) \in (A \times B) \cap U_{[2]}$ thì $x = y$ và $x \in A \cap B$.
Bài 3: Mạch Tổ Hợp và Đại Số Boole (Circuits & Boolean Algebras)
Bảng Tiên Đề Đại Số Boole Trừu Tượng $B = (S, +, \cdot, ', 0, 1)$
$(x+y)+z = x+(y+z)$
$(xy)z = x(yz)$
$x+y = y+x$
$xy = yx$
$x(y+z) = xy + xz$
$x+(yz) = (x+y)(x+z)$
$x + 0 = x$
$x \cdot 1 = x$
$x + x' = 1$
$x \cdot x' = 0$
Đổi $+ \leftrightarrow \cdot$ và đổi $0 \leftrightarrow 1$.
5 Bài Thực Hành Minh Họa Bài 3 (Có Lời Giải Từng Bước)
Tính giá trị biểu thức và Chứng minh đẳng thức Boole
Chứng minh $x_1 \wedge \overline{x_2 \wedge x_3} = (x_1 \wedge \overline{x}_2) \vee (x_1 \wedge \overline{x}_3)$.
Thiết kế Mạch Biểu Quyết Đa Số (Majority Voter)
Thiết kế mạch 3 đầu vào $(x, y, z)$ xuất ra 1 khi có đúng hai đầu vào bằng 1 hoặc cả ba bằng 1.
Tính Đầy Đủ Chức Năng: Thiết kế $x \wedge y$ chỉ bằng Cổng NAND
Vẽ sơ đồ mạch chỉ sử dụng cổng NAND để tính phép AND ($x \wedge y$).
Kiểm tra cấu trúc Đại số Boole trên tập ước số với BCNN và ƯCLN
Kiểm tra xem $(S, +, \cdot, ', 1, 6)$ và $(S, +, \cdot, ', 1, 8)$ có phải là Đại số Boole hay không.
Nhận diện mạch hồi tiếp & Viết mệnh đề đối ngẫu
Tìm mệnh đề đối ngẫu (dual) của $(x' + y')' = x \cdot y$.
Bài 4: Ánh Xạ và Hàm Số (Functions)
Sơ đồ ôn tập kiến thức Bài 4: Ánh Xạ & Hàm Số
- • Tập xác định ($\text{dom } f$) và Miền giá trị ($\text{range } f \subseteq Y$)
- • Đơn ánh (Injective): $f(x_1) = f(x_2) \Rightarrow x_1 = x_2$
- • Toàn ánh (Surjective): $\forall y \in Y, \exists x \in X: f(x) = y$
- • Song ánh (Bijective) & Hàm ngược $f^{-1}(y) = x$
- • Hợp thành hàm (Composition): $(g \circ f)(x) = g(f(x))$
- • Hàm sàn $\lfloor x \rfloor$ & Hàm trần $\lceil x \rceil$
- • Phép chia lấy dư Modulo ($x \bmod n$)
- • Hàm Băm (Hash function): $h(x) = x \bmod n$
- • Xử lý xung đột (Collision Resolution): Thăm dò tuyến tính
- • Bộ sinh số giả ngẫu nhiên đồng dư tuyến tính (LCG)
- • Chuẩn Frobenius: $\|A\|_F = \sqrt{\sum A_{ij}^2}$
- • Hàm tuyến tính $f(x) = Mx$:
• $m \ge n$: Đơn ánh $\Leftrightarrow \text{rank}(M) = n$
• $m \le n$: Toàn ánh $\Leftrightarrow \text{rank}(M) = m$
• $m = n$: Song ánh $\Leftrightarrow M$ khả nghịch ($M^{-1}$)
5 Bài Thực Hành Minh Họa Bài 4 (Có Lời Giải Từng Bước)
Kiểm tra điều kiện hàm số và phân loại đơn ánh, toàn ánh
Cho $X = \{1, 2, 3, 4\}$, $Y = \{a, b, c, d\}$. Xét xem tập quan hệ nào là hàm số, tìm miền giá trị và xác định tính đơn ánh, toàn ánh: (a) $\{(1, d), (2, a), (3, c), (4, b)\}$ và (b) $\{(1, c), (2, a), (3, b), (4, c), (2, d)\}$.
Xét tính chất đơn ánh & toàn ánh của hàm trên tập số nguyên $\mathbb{Z}$
Xét $f: \mathbb{Z} \rightarrow \mathbb{Z}$: (a) $f(n) = \lceil n/2 \rceil$ và (b) $f(n) = 2n$.
Phép hợp thành hàm số (Composition of Functions)
Cho $f(n) = 2n+1$ và $g(n) = 3n-1$ trên $\mathbb{Z}^+$. Tính các hàm hợp $(f \circ g)(n)$ và $(g \circ f)(n)$.
Mô phỏng Bảng Băm (Hash Table) & Xử lý xung đột
Cho hàm băm $h(x) = x \bmod 11$ với bảng kích thước 11 (ô $0 \rightarrow 10$). Chèn lần lượt dãy: 53, 13, 281, 743, 377, 20, 10, 796 bằng phương pháp dò tuyến tính (linear probing).
Ánh xạ tuyến tính qua phép nhân ma trận & Đánh giá hạng (Rank)
Cho $f(x) = Ax$ với $A = \begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}$. Tính $f((-3, -6)^T)$ và xét $f$ có là đơn ánh hay toàn ánh không.
Bài 5: Dãy Số, Xâu Ký Tự, Văn Phạm và Quan Hệ (Relations & Grammars)
Các Tính Chất Quan Trọng Của Quan Hệ $R \subseteq X \times X$
$(x, x) \in R, \forall x \in X$. Đồ thị có vòng lặp (loop) tại mọi đỉnh.
$(x, y) \in R \Rightarrow (y, x) \in R$. Ma trận quan hệ đối xứng qua đường chéo.
$(x, y) \in R \wedge (y, x) \in R \Rightarrow x = y$. Không có cặp mũi tên ngược chiều giữa 2 đỉnh phân biệt.
$(x, y) \in R \wedge (y, z) \in R \Rightarrow (x, z) \in R$. Đi đường vòng luôn có đường tắt.
5 Bài Thực Hành Minh Họa Bài 5 (Có Lời Giải Từng Bước)
Tổng chuỗi vi phân viễn vọng & Liệt kê tất cả các xâu con (Substrings)
1. Tính $\sum_{i=1}^{10} (\frac{1}{i} - \frac{1}{i+1})$. 2. Liệt kê toàn bộ xâu con của xâu $babc$.
Kiểm tra 4 tính chất quan hệ chia hết: $3 \mid (x - y)$ trên $\mathbb{Z}^+$
Xét quan hệ $(x, y) \in R$ khi và chỉ khi 3 chia hết cho $x - y$. Chứng minh $R$ là quan hệ tương đương.
Phép hợp thành quan hệ (Composition of Relations)
Cho $R_1 = \{(1,1), (1,2), (3,4), (4,2)\}$ và $R_2 = \{(1,1), (2,1), (3,1), (4,4), (2,2)\}$. Tìm $R_1 \circ R_2$ và $R_2 \circ R_1$.
Tìm các Lớp tương đương (Equivalence Classes)
Trên tập $X = \{1, 2, 3, 4, 5\}$, cho quan hệ $R = \{(x, y) \mid x, y \text{ cùng là số chẵn hoặc cùng là số lẻ}\}$. Tìm các lớp tương đương.
Thiết kế Văn Phạm (Grammar) sinh ngôn ngữ nhị phân
Cho bảng chữ cái $\{0, 1\}$. Viết văn phạm $G$ sinh ngôn ngữ các xâu có độ dài lẻ.
Bài 6: Quy Nạp Toán Học, Đệ Quy & Hệ Thức Truy Hồi (Induction & Recurrence)
Phương Pháp Giải Hệ Thức Truy Hồi Tuyến Tính Thuần Nhất Bậc 2
Xét hệ thức: $a_n = c_1 a_{n-1} + c_2 a_{n-2}$ với các điều kiện ban đầu $a_0, a_1$.
Bước 1: Lập phương trình đặc trưng: $r^2 - c_1 r - c_2 = 0$.
Bước 2: Nếu phương trình có 2 nghiệm phân biệt $r_1, r_2$, nghiệm tổng quát có dạng: $$a_n = b \cdot r_1^n + d \cdot r_2^n$$
Bước 3: Thay điều kiện đầu $n=0, n=1$ để lập hệ phương trình tìm hai hằng số $b, d$.
5 Bài Thực Hành Minh Họa Bài 6 (Có Lời Giải Từng Bước)
Chứng minh bằng Quy Nạp Toán Học đẳng thức tổng lập phương có trọng số
Chứng minh rằng với mọi $n \ge 1$: $1 \cdot 2^2 + 2 \cdot 3^2 + \dots + n \cdot (n+1)^2 = \frac{n(n+1)(n+2)(3n+5)}{12}$.
Giải hệ thức truy hồi tuyến tính $2a_n = 7a_{n-1} - 3a_{n-2}$
Tìm công thức tổng quát của $a_n$ với $a_0 = 1, a_1 = 1$.
Giải hệ thức phi tuyến bằng phép đổi biến: $\sqrt{a_n} = \sqrt{a_{n-1}} + 2\sqrt{a_{n-2}}$
Cho $a_0 = a_1 = 1$. Tìm công thức hiện của dãy $a_n$.
Bài toán Tháp Hà Nội (Tower of Hanoi) & Số phép chuyển tối ưu
Thiết lập hệ thức truy hồi và giải tìm số bước chuyển đĩa tối thiểu $H_n$ cho $n$ đĩa.
Quy nạp cho hàm sinh dãy số: $f(1)=1, f(n)=10f(n-1)+1$
Chứng minh bằng quy nạp công thức tường minh $f(n) = \frac{10^n - 1}{9}$.
Bài 7: Lý Thuyết Số & Mật Mã RSA (Number Theory & Cryptography)
Quy Trình Tạo Khóa và Mã Hóa / Giải Mã RSA
- 1. Chọn ngẫu nhiên 2 số nguyên tố lớn $p, q$ ($p \neq q$).
- 2. Tính modulo $n = pq$ và hàm số Euler $\phi(n) = (p-1)(q-1)$.
- 3. Chọn số mũ mã hóa $e$ sao cho $\gcd(e, \phi(n)) = 1$.
- 4. Tính khóa giải mã $d$ là nghịch đảo modulo: $ed \equiv 1 \pmod{\phi(n)}$.
- ⇒ Khóa công khai (Public Key): $P = (e, n)$.
- ⇒ Khóa bí mật (Private Key): $S = (d, n)$.
- • Mã hóa thông điệp $M$: $$C = M^e \bmod n$$
- • Giải mã bản mã $C$: $$M = C^d \bmod n$$
- • Tính đúng đắn: Dựa trên Định lý Fermat nhỏ và Định lý số dư Trung Hoa: $C^d \equiv (M^e)^d \equiv M^{ed} \equiv M \pmod n$.
5 Bài Thực Hành Minh Họa Bài 7 (Có Lời Giải Từng Bước)
Phân tích thừa số nguyên tố của $11!$ (11 giai thừa)
Tìm biểu diễn phân tích tiêu chuẩn ra các thừa số nguyên tố của $11!$.
Số bit cần thiết để biểu diễn số lớn & Chuyển đổi hệ Hexadecimal
1. Cần bao nhiêu bit để biểu diễn số $3^{481}$ trong hệ nhị phân? 2. Đổi số Hex $A03_{16}$ sang hệ thập phân và nhị phân.
Thực hành trọn gói hệ mật mã khóa công khai RSA
Cho $p=17, q=23, e=31$. Hãy tính: $n, \phi(n)$, khóa giải mã $d$, và mã hóa bản rõ $M = 101$.
Thuật toán Euclid & Biểu diễn Bezout $\gcd(a, b) = sa + tb$
Tìm $\gcd(252, 198)$ và tìm hai số nguyên $s, t$ sao cho $\gcd(252, 198) = 252s + 198t$.
Chuyển đổi hệ cơ số tùy ý (Base 6 sang Base 10 & ngược lại)
Xét hệ cơ số 6 dùng các ký tự A=0, B=1, C=2, D=3, E=4, F=5. (a) Đổi $BAF_6$ sang thập phân. (b) Đổi $137_{10}$ sang hệ cơ số 6.
Bài 8: Các Nguyên Lý Đếm và Xác Suất Rời Rạc (Counting & Probability)
Bảng Công Thức Cốt Lõi Bài 8
• Hoán vị $n$ phần tử: $n!$
• Chỉnh hợp chập $r$: $P(n, r) = \frac{n!}{(n-r)!}$
• Tổ hợp chập $r$: $C(n, r) = \frac{n!}{(n-r)!r!}$
• Tổ hợp lặp: $C(k+t-1, k)$
• Dạng 1: $n$ bồ câu vào $k$ chuồng ($n > k$) $\Rightarrow$ có ít nhất 1 chuồng chứa $\ge 2$ con.
• Dạng tổng quát: Nếu hàm $f: X \rightarrow Y$ có $|X|=n, |Y|=m$, luôn tồn tại $y$ sao cho $|f^{-1}(y)| \ge \lceil n/m \rceil$.
• $P(E) = |E| / |S|$
• $P(E_1 \cup E_2) = P(E_1) + P(E_2) - P(E_1 \cap E_2)$
• Điều kiện: $P(E|F) = \frac{P(E \cap F)}{P(F)}$
• Công thức Bayes: $P(E|F) = \frac{P(F|E)P(E)}{P(F)}$
5 Bài Thực Hành Minh Họa Bài 8 (Có Lời Giải Từng Bước)
Bài toán xếp sách theo chuyên ngành & Đếm xâu chứa chuỗi con kề nhau
1. Có 5 sách Tin học, 3 sách Toán, 2 sách Mỹ thuật khác nhau xếp thành hàng sao cho sách cùng môn kề nhau. 2. Có bao nhiêu hoán vị của 5 chữ cái A, B, C, D, E chứa chuỗi con AE hoặc EA?
Chọn ban đại diện chứa cả hai giới tính (Phương pháp đếm bù)
Một câu lạc bộ gồm 6 nam và 7 nữ. Có bao nhiêu cách chọn ban đại diện 4 người sao cho có cả nam và nữ?
Xác suất kiểm định chíp vi xử lý & Số nguyên 6-bit ngẫu nhiên
1. Chọn ngẫu nhiên 4 vi xử lý từ 100 chiếc (trong đó có 10 chiếc lỗi). Tính xác suất không chọn phải chiếc lỗi nào. 2. Máy tính sinh số nguyên 6-bit ngẫu nhiên, tính xác suất số thu được $\ge 60$.
Xác suất biểu thức Boole nhận giá trị 1 khi gán ngẫu nhiên
Cho biểu thức Boole $E = \overline{x \vee y \vee z} \vee (x \wedge z)$. Giả sử mỗi biến $x, y, z$ được gán độc lập bit 0 hoặc 1 với xác suất 1/2. Tính $P(E = 1)$.
Chứng minh bằng Nguyên Lý Chuồng Bồ Câu (Pigeonhole Principle)
1. Có 32 người nhận séc vào tháng Một. Chứng minh có ít nhất 2 người nhận cùng một ngày. 2. Chọn ngẫu nhiên 6 số phân biệt từ $S = \{1, 2, \dots, 10\}$. Chứng minh luôn tồn tại 2 số có tổng bằng 11.
Bài 9: Lý Thuyết Đồ Thị và Mạng Luồng (Graph Theory & Networks)
Sơ đồ ôn tập kiến thức Bài 9
- • Đồ thị vô hướng $G=(V, E)$ & Có hướng (Digraph)
- • Bậc của đỉnh $\delta(v)$, Khuyên (Loop) tính bậc là 2
- • Định lý bắt tay: $\sum_{i=1}^n \delta(v_i) = 2m$ ($m$ là số cạnh)
- • Đồ thị đơn (Simple graph): không khuyên, không cạnh song song
- • Đường đi đơn (Simple path), Chu trình (Cycle), Liên thông (Connected)
- • Đồ thị phẳng (Planar): vẽ không có cạnh cắt nhau
- • Công thức Euler: $f = e - v + 2$ ($f$: mặt, $e$: cạnh, $v$: đỉnh)
- • Đẳng cấu đồ thị (Isomorphism): bảo toàn tính kề
- • Ma trận kề (Adjacency matrix): $A_{ij}$ = số cạnh giữa $i$ và $j$
- • Ma trận liên thuộc (Incidence matrix): đỉnh $\times$ cạnh
- • Điểm phát (Source $a$) & Điểm thu (Sink $z$)
- • Điều kiện dung lượng: $0 \le F_{ij} \le C_{ij}$
- • Bảo toàn luồng: Luồng vào = Luồng ra tại mọi đỉnh trung gian
- • Đường tăng luồng (Augmentable path) & Độ tăng $\Delta$
- • Định lý luồng cực đại: Đạt Max Flow $\Leftrightarrow$ không còn đường tăng luồng
5 Bài Thực Hành Minh Họa Bài 9 (Có Lời Giải Từng Bước)
Lập Ma Trận Kề và Ma Trận Liên Thuộc của Đồ Thị Ngôi Nhà
Cho đồ thị hình ngôi nhà gồm 5 đỉnh $V = \{a, b, c, d, e\}$ và 8 cạnh $x_1, \dots, x_8$. Hãy thiết lập ma trận kề $A$ và ma trận liên thuộc $M$.
Chứng Minh Đồ Thị Phẳng (Planar Graph) Bằng Cách Vẽ Lại Không Cắt Nhau
Cho đồ thị 4 đỉnh $a, b, c, d$ có hai đường chéo cắt nhau. Hãy vẽ lại đồ thị để chứng minh nó là đồ thị phẳng.
Phân Tích Ma Trận Kề: Đếm Số Cạnh & Ứng Dụng Công Thức Euler
Cho ma trận kề $5 \times 5$ của đồ thị $G$. Tìm số cạnh của $G$ và tính số miền mặt phẳng $f$ khi vẽ phẳng.
Bảo Toàn Luồng Trên Mạng (Conservation of Flow) & Tính Giá Trị Luồng
Cho mạng luồng từ nguồn $a$ đến đích $z$. Biết dung lượng và luồng một số cạnh, hãy điền luồng còn thiếu và tính giá trị luồng $V(F)$.
Thuật Toán Ford-Fulkerson: Tìm Đường Tăng Luồng Để Đạt Luồng Cực Đại
Xuất phát từ luồng hiện tại $V(F) = 5$, hãy tìm đường tăng luồng $P$ và tăng luồng lên giá trị cực đại.
Bài 10: Cây và Kỹ Thuật Mã Hóa (Trees & Coding)
Các Phép Duyệt Cây & Dạng Biểu Thức Số Học
Gốc → Trái → Phải
Tạo ra Biểu thức Tiền tố (Prefix) hay ký hiệu Ba Lan (Polish notation).
Ví dụ: - * + A B C / D E
Trái → Gốc → Phải
Tạo ra Biểu thức Trung tố (Infix) thông dụng của con người.
Ví dụ: ((A + B) * C) - (D / E)
Trái → Phải → Gốc
Tạo ra Biểu thức Hậu tố (Postfix) rất dễ tính toán bằng cấu trúc Ngăn xếp (Stack).
Ví dụ: A B + C * D E / -
5 Bài Thực Hành Minh Họa Bài 10 (Có Lời Giải Từng Bước)
Xây Dựng Cây Tìm Kiếm Nhị Phân (Binary Search Tree - BST)
Chèn lần lượt các từ: FOUR, SCORE, AND, SEVEN, YEARS, AGO, OUR vào một cây BST rỗng theo thứ tự từ điển.
Chuyển Biểu Thức Số Học Sang Dạng Tiền Tố (Prefix) & Hậu Tố (Postfix)
Vẽ cây biểu thức và viết dạng tiền tố, hậu tố cho biểu thức: $((A - C) * D) / (A + (B + D))$.
Tính Giá Trị Biểu Thức Hậu Tố (Postfix Evaluation) Bằng Ngăn Xếp
Tính giá trị biểu thức hậu tố $A B C + -$ với $A = 1, B = 2, C = 3$.
Thuật Toán Xây Dựng Mã Huffman Tối Ưu (Optimal Huffman Code)
Cho 5 ký tự với tần suất xuất hiện: $\alpha: 5, \beta: 6, \gamma: 6, \delta: 11, \epsilon: 20$. Hãy dựng cây mã hóa Huffman và gán từ mã nhị phân.
Cây Quyết Định (Decision Tree): Bài Toán Cân Tìm Đồng Xu Giả
Có 4 đồng xu bề ngoài giống hệt nhau, trong đó có đúng 1 đồng xu giả có khối lượng khác các đồng còn lại. Vẽ cây quyết định tìm ra đồng xu giả chỉ với tối đa 2 lần cân bằng cân đĩa.
Thực Hành Logic Trực Quan
Thao tác trực tiếp để kiểm chứng bảng chân trị và hoạt động của các cổng logic số.
Bộ Tính Chân Trị Tức Thì (Logic Evaluator)
Nhấn vào $P$ hoặc $Q$ để đổi trạng thái True / False:
TRUE
TRUE
TRUE
TRUE
FALSE
FALSE
Mô Phỏng Cổng Logic Số (Gate Simulator)
Đầu ra Output hiện tại: Bit 0 (Tắt)