JavaScript is required

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.

A.

{5, 4, 3}

B.

{5, 6, 4}

C.

{7, 4, 3}

D.
{7, 6, 3}
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:

  1. Duyệt từ cuối tập A đến đầu để tìm phần tử đầu tiên có thể tăng.
  2. 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.
  3. Phần tử thứ hai từ cuối của A là 6, nó có thể tăng thành 7.
  4. Thay 6 bằng 7.
  5. 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.
  6. 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.
  7. Phần tử thứ nhất của A là 5, nó có thể tăng thành 6.
  8. Thay 5 bằng 6 là không thỏa mãn vì tập E không chứa 6.
  9. Phần tử thứ nhất của A là 5, nó có thể tăng thành 7.
  10. Thay 5 bằng 7.
  11. 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ể.
  12. Vậy hai phần tử phía sau 7 là 4 và 3.
  13. Vậy tập con sinh kế tiếp sau A là {7,4,3}.

Vậy đáp án đúng là C.

Câu hỏi liên quan