Cho tập E = {5,7,6,4,3}. Giả sử tập con A = {5,6,3} là cấu hình hiện tại trong thuật toán liệt kê tổ hợp chập 3 của 5 phần tử trên E bằng phương pháp sinh. Tập con nào sau đây là tập sinh kế tiếp sau A.
Trả lời:
Đáp án đúng: B
Tập E = {5,7,6,4,3}. Tập A = {5,6,3} là cấu hình hiện tại trong thuật toán liệt kê tổ hợp chập 3 của 5 phần tử trên E bằng phương pháp sinh. Để tìm tập con sinh kế tiếp sau A, ta thực hiện theo các bước sau:
- Duyệt từ cuối tập A đến đầu để tìm phần tử đầu tiên có thể tăng.
- Phần tử cuối cùng của A là 3, nó không thể tăng vì nếu tăng sẽ vượt quá giá trị lớn nhất của tập E.
- Phần tử thứ hai từ cuối của A là 6, nó có thể tăng thành 7.
- Thay 6 bằng 7.
- Các phần tử phía sau 7 được chọn sao cho lớn hơn phần tử đứng trước nó và nhỏ nhất có thể. Vì vậy, phần tử đứng sau 7 không có phần tử nào thỏa mãn. Do đó tập con sinh kế tiếp không thể là tập chứa 7.
- Quay lại phần tử thứ hai từ cuối của A là 6, nó có thể tăng thành 7 là không thỏa mãn, do đó ta xét đến 6.
- Phần tử thứ nhất của A là 5, nó có thể tăng thành 6.
- Thay 5 bằng 6 là không thỏa mãn vì tập E không chứa 6.
- Phần tử thứ nhất của A là 5, nó có thể tăng thành 7.
- Thay 5 bằng 7.
- Các phần tử phía sau 7 được chọn sao cho lớn hơn phần tử đứng trước nó và nhỏ nhất có thể.
- Vậy hai phần tử phía sau 7 là 4 và 3.
- Vậy tập con sinh kế tiếp sau A là {7,4,3}.
Vậy đáp án đúng là C.





