JavaScript is required

Cho văn phạm gồm 3 luật sinh: (1) S->aSbS; (2) S->aS; (3) S->c. Phân tích xâu vào “aacbc” bằng thuật toán Top-down. Chọn lần lượt các sản xuất (1) (2) (2) (3) (1) (2) (3) để phân tích thì tại thời điểm này cây suy dẫn có bao nhiêu nút?

A.

8

B.

9

C.

10

D.

11

Trả lời:

Đáp án đúng: D


Để giải bài này, ta sẽ thực hiện phân tích xâu "aacbc" theo thuật toán Top-down với các luật sinh được cho và đếm số nút trên cây suy dẫn tại thời điểm chỉ định. Các bước phân tích như sau: 1. **S -> aSbS** (1): Cây có 3 nút (S, a, SbS) 2. **S -> aS** (2): Thay S bằng aS trong SbS. Cây có thêm 2 nút (S, aS) -> Tổng: 5 nút. 3. **S -> aS** (2): Thay S bằng aS trong aS. Cây có thêm 2 nút (S, aS) -> Tổng: 7 nút. 4. **S -> c** (3): Thay S bằng c trong aS. Cây có thêm 1 nút (c) -> Tổng: 8 nút. Vậy, sau 4 bước cây suy dẫn có 8 nút. Các luật sinh tiếp theo sẽ chỉ làm tăng số nút của cây. 5. **S -> aSbS** (1) Thay S bằng aSbS vào cây hiện tại: Cây có thêm 3 nút (S, a, SbS) -> Tổng: 11 nút 6. **S -> aS** (2): Thay S bằng aS trong SbS. Cây có thêm 2 nút (S, aS) -> Tổng: 13 nút. 7. **S -> c** (3): Thay S bằng c trong aS. Cây có thêm 1 nút (c) -> Tổng: 14 nút. Tuy nhiên câu hỏi chỉ hỏi sau các bước 1, 2, 2, 3. Do đó đáp án là 8.

Câu hỏi liên quan