CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

Dãy bit độ dài n có dạng X = (x0,x1...xn-1), trong đó x1 bằng 0 hoặc 1 (0 <i<n-1) có thể mô tả theo cách đệ quy như sau:

- Nếu n > 0 thì phần tử đầu tiên của dãy bằng 0 hoặc 1 và n - 1 phần tử sau là dãy bit độ dài n - 1

- Ngược lại, nếu n = 0 thì dãy bit độ dài n là dãy rỗng

Việc xây dựng các dãy nhị phân theo thuật toán đệ quy như sau:
1. Bắt đầu từ X rỗng, lệnh x = [] và gọi thủ tục đệ quy backtrack(0) để xây dựng bắt đầu phần tử 0.

2. Thành phần i (0<i<n-1) sẽ lần lượt nhận giá trị 0 và 1 bằng lệnh for v in range(2): Với mỗi giá trị của v, thành phần i được ghi nhận vào xi của X bằng lệnh x.append(v). lệnh này đây v vào cuối ÀV Sau đó tiếp tục gợi để quy để xây dựng các thành phần còn lại (từ thành phần Xi+1... đến thành phần x.)

3. Để xét được khả năng tiếp theo, hành động quay lui được thực hiện bằng cách loại bỏ nhị phân thành phần cuối cùng của X bằng lệnh x.pop(). Việc quay lui cũng được diễn ra khí đang xây dựng thành phần x mà x, đã lần lượt nhận cả hai giá trị 0 và 1, khi đó thành phân x sẽ bị loại khỏi X và lùi về để xét khả năng tiếp theo cho thành phần Xi-1

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP