1.1. Khái niệm Thuật toán theo nghĩa trực giácThuật toán 5 Sinh hoán vị kế tiếp.Đầu vào: Hoán vị hiện tại a 1 , a 2 , . . . , a n n, n 1, . . . , 2, 1.Đầu ra: Hoán vị liền sau theo thứ tự từ điển.1: j : n 1.2: Trong khi a j ¡ a j 1 Thực hiện3: j : j 1.4: Kết thúc Trong khi5: k : n.6: Trong khi a j ¡ a k Thực hiện7: k : k 1.8: Kết thúc Trong khi9: Đổi chỗ a j và a k .10: s : j 1, r : n.11: Trong khi r ¡ s Thực hiện12: Đổi chỗ a r và a s .13: r : r 1, s : s 1.14: Kết thúc Trong khi15: Hoán vị mới liền sau hoán vị đã cho theo thứ tự từ điển là a 1 , a 2 , . . . , a n .Các qui tắc trên được thể hiện thông qua thuật toán 5 dưới dạng giả mã.Ví dụ 1.1.8 Liệt kê tất cả các xâu nhị phân độ dài n theo thứ tự từ điển.looomooonLời giải: Xâu nhị phân đầu tiên là 00 . . . 0. Xâu nhị phân cuối cùng sẽ làlooomooonn bit11 . . . 1. Giả sử b 1 , b 2 , . . . , b n là xâu nhị phân hiện tại (không phải xâu nhịn bitphân cuối cùng). Qui tắc sau sẽ cho ta xâu nhị phân kế tiếp:B1 Tìm chỉ số i đầu tiên từ phải qua trái (i n, pn 1q, . . . , 1) thỏa mãnb i 0.B2 Gán lại b i 1 và b j 0 với tất cả j ¡ i.Việc chứng minh tính đúng đắn của qui tắc trên dành cho các bạn đọc như mộtbài tập đơn giản.Chẳng hạn với xâu 1101011111 ta có i 5 và xâu nhị phân kế tiếp sẽ là1101100000.Bài toán liệt kê tất cả các xâu nhị phân độ dài n theo thứ tự từ điển chính làbài toán liệt kê tất cả các tập con có thể của tập có n phần tử ta 1 , a 2 , . . . , a n u.Phần tử a i sẽ có mặt trong tập con đang xét nếu và chỉ nếu bit thứ i (các bitđược tính từ 1 từ trái qua phải) nhận giá trị 1.lThuật toán 6 là biểu diễn dạng giả mã của qui tắc sinh xâu nhị phân kế tiếp theothứ tự từ điển.Bộ môn Toán - ĐẠI HỌC THĂNG LONG 9
Chương 1. Thuật toán, Số nguyên, Trường hữu hạn, Đa thứcThuật toán 6 Sinh xâu nhị phân kế tiếp.looomooonĐầu vào: Xâu nhị phân hiện tại b 1 b 2 . . . b n 11 . . . 1.Đầu ra: Xâu nhị phân liền sau theo thứ tự từ điển.1: i : n.2: Trong khi b i 1 Thực hiện3: b i : 0, i : i 1.4: Kết thúc Trong khi5: b i : 1.6: Xâu nhị phân mới liền sau xâu nhị phân đã cho theo thứ tự từ điển là b 1 b 2 . . . b n .nVí dụ 1.1.9 Liệt kê tất cả các tập con m phần tử của tập n phần tử (tổ hợpchập m của n phần tử).Lời giải: Ta có thể coi như tập n phần tử đã cho là tập A t1, 2, . . . , nu.Mỗi tập con m phần tử của A có thể biểu diễn bởi một dãy có thứ tự các phần tửa 1 , a 2 , . . . , a m (a i P A) thỏa mãn 1 ¤ a 1 a 2 . . . a m ¤ n. Ta chọnthứ tự từ điển là thứ tự để sinh tập con kế tiếp của tập con ta 1 , a 2 , . . . , a m ubiểu diễn bởi dãy a 1 , a 2 , . . . , a m (a i P A) thỏa mãn 1 ¤ a 1 a 2. . . a m ¤ n. Tập con đầu tiên là t1, 2, . . . , mu và tập con cuối cùng làtn m 1, n m 2, . . . , nu. Tính đúng đắn của thuật toán sinh kế tiếpsau được đề nghị như một bài tập dành cho các bạn:B1 Tìm phần tử đầu tiên từ phải qua trái a i của dãy a 1 , a 2 , . . . , a m thỏa mãna i n m i.B2 Thay a j bởi a i j i 1 với j i 1, m và a i bởi a i 1.Chẳng hạn tập con 4 phần tử của tập t1, 2, 3, 4, 5, 6u đang xét là tậpt1, 2, 5, 6u. Lùi từ phải qua trái ta thấy a 4 6 64 4, a 3 5 64 3,a 2 2 6 4 2. Vậy i 2. Ta thay a 2 bởi 2 1 3, a 3 bởi2 3 2 1 4 và a 4 bởi 2 4 2 1 5. Vậy tập con kế tiếp làt1, 3, 4, 5u. lThuật toán 7 là biểu diễn dạng giả mã của qui tắc sinh tập con kế tiếp theo thứtự từ điển.Mặc dù thuật toán sinh cụ thể nào cũng có tính chất phổ dụng (áp dụng đượccho mọi bộ dữ liệu ứng với bài toán cho trước) nhưng phương pháp sinh nóichung không có tính chất phổ dụng. Không phải cấu hình kế tiếp nào cũng đượcsinh một cách đơn giản từ cấu hình hiện tại. Mặt khác, cấu hình ban đầu khôngphải dễ tìm vì ngay cả sự tồn tại của một cấu hình nhiều khi vẫn còn là nghi vấn.Vì vậy, thông thường thuật toán sinh chỉ có thể xây dựng được đối với những10 Bộ môn Toán - ĐẠI HỌC THĂNG LONG
- Page 6 and 7: 1.1. Khái niệm Thuật toán the
- Page 8: 1.1. Khái niệm Thuật toán the
- Page 15 and 16: Chương 1. Thuật toán, Số ngu
- Page 17 and 18: Chương 1. Thuật toán, Số ngu
- Page 19 and 20: Chương 1. Thuật toán, Số ngu
- Page 21 and 22: Chương 1. Thuật toán, Số ngu
- Page 23 and 24: Chương 1. Thuật toán, Số ngu
- Page 25 and 26: Chương 1. Thuật toán, Số ngu
- Page 27 and 28: Chương 1. Thuật toán, Số ngu
- Page 29 and 30: Chương 1. Thuật toán, Số ngu
- Page 31 and 32: Chương 1. Thuật toán, Số ngu
- Page 33 and 34: Chương 1. Thuật toán, Số ngu
- Page 35 and 36: Chương 1. Thuật toán, Số ngu
- Page 37 and 38: Chương 1. Thuật toán, Số ngu
- Page 39 and 40: số tự nhiên n ¡ 1. Khi đó t
- Page 41 and 42: Chương 1. Thuật toán, Số ngu
- Page 43 and 44: Chương 1. Thuật toán, Số ngu
- Page 45 and 46: Chương 1. Thuật toán, Số ngu
- Page 47 and 48: Chương 1. Thuật toán, Số ngu
- Page 49 and 50: Chương 1. Thuật toán, Số ngu
- Page 51 and 52: Chương 1. Thuật toán, Số ngu
- Page 53 and 54: Chương 1. Thuật toán, Số ngu
- Page 55 and 56: Chương 1. Thuật toán, Số ngu
- Page 57 and 58: I.10. Sắp xếp các hoán vị s
- Page 59 and 60: Chương 1. Thuật toán, Số ngu
- Page 61 and 62: Chương 1. Thuật toán, Số ngu
- Page 63 and 64:
I.58. Tính giá trị của các h
- Page 65 and 66:
Chương 1. Thuật toán, Số ngu
- Page 67 and 68:
Chương 1. Thuật toán, Số ngu
- Page 69 and 70:
Chương 2. Nguyên lí bù trừ,
- Page 71 and 72:
Chương 2. Nguyên lí bù trừ,
- Page 73 and 74:
Chương 2. Nguyên lí bù trừ,
- Page 75 and 76:
Chương 2. Nguyên lí bù trừ,
- Page 77 and 78:
Chương 2. Nguyên lí bù trừ,
- Page 79 and 80:
Chương 2. Nguyên lí bù trừ,
- Page 81 and 82:
Chương 2. Nguyên lí bù trừ,
- Page 83 and 84:
Chương 2. Nguyên lí bù trừ,
- Page 85 and 86:
Chương 2. Nguyên lí bù trừ,
- Page 87 and 88:
Chương 2. Nguyên lí bù trừ,
- Page 89 and 90:
Chương 2. Nguyên lí bù trừ,
- Page 91 and 92:
Chương 2. Nguyên lí bù trừ,
- Page 93 and 94:
Chương 2. Nguyên lí bù trừ,
- Page 95 and 96:
Chương 2. Nguyên lí bù trừ,
- Page 97 and 98:
Chương 2. Nguyên lí bù trừ,
- Page 99 and 100:
Chương 2. Nguyên lí bù trừ,
- Page 101 and 102:
1. Θ phản xạ, tức là fpnq
- Page 103 and 104:
có công thức sauT pnq $'&'%Chư
- Page 105 and 106:
Chương 2. Nguyên lí bù trừ,
- Page 107 and 108:
Chương 2. Nguyên lí bù trừ,
- Page 109 and 110:
Chương 2. Nguyên lí bù trừ,
- Page 111 and 112:
Chương 2. Nguyên lí bù trừ,
- Page 113 and 114:
Chương 2. Nguyên lí bù trừ,
- Page 115 and 116:
Chương 3Đại số BooleCó mộ
- Page 117 and 118:
Chương 3. Đại số BooleTính
- Page 119 and 120:
Chương 3. Đại số BooleCác h
- Page 121 and 122:
Chương 3. Đại số Boolecho tr
- Page 123 and 124:
Chương 3. Đại số BooleTính
- Page 125 and 126:
Chương 3. Đại số BooleVí d
- Page 127 and 128:
Chương 3. Đại số BooleHình
- Page 129 and 130:
yx 1¯x 1ȳChương 3. Đại số
- Page 131 and 132:
Chương 3. Đại số BooleVí d
- Page 133 and 134:
Chương 3. Đại số Boolea) w.x
- Page 135 and 136:
Chương 3. Đại số Boole¯z. S
- Page 137 and 138:
Chương 3. Đại số BooleVí d
- Page 139 and 140:
Chương 3. Đại số BooleIII.13
- Page 141 and 142:
Chương 3. Đại số BooleIII.27
- Page 143 and 144:
Chương 3. Đại số Boolea) ¯x
- Page 145 and 146:
Chương 3. Đại số BooleIII.50
- Page 147 and 148:
Tài liệu tham khảo[1] Kenneth
- Page 149 and 150:
Chỉ mụccấu hình tổ hợp .
- Page 151:
Chỉ mụctìm số lớn nhất t