1 [Lời giải]Giải thuật chuyển hậu tố thành trung tố có đầy đủ dấu ngoặc Mon May 16, 2011 10:34 pm
Admin
Quản trị viên
Giải thuật chuyển hậu tố thành trung tố có đầy đủ dấu ngoặc
Ý tưởng:1. Duyệt cho đến hết M
a. Đọc một phàn tử x
b. Nếu x là toán hạng thì nạp vào stack
c. Nếu x là toán tử thì:
Thành lập một chuỗi mô tả phép tính: (A x B) trong đó: Toán hạng 1 là A, Toán tử là x và toán hạng 2 là B. Dựa trên nguyên tắc:
- Toán hạng có thể là một giá trị số.
- Toán hạng là một chuỗi biểu thức mà bắt đầu bằng các dấu mở ngoặc đến các con số, toán tử và kết thúc bằng các dấu đóng ngoặc (Số ngoặc mở = với số ngoặc đóng).
- Nếu phần tử trên đỉnh stack là các dấu đóng ngoặc thì: Lấy hết các dấu đóng ngoặc tương ứng, đến các toán hạng, toán tử đến đủ số lượng dấu mở ngoặc tương ứng, nạp vào chuỗi cho toán hạng thứ tương ứng.
- Sau khi thành lập xong chuỗi, push chuỗi đó lần lượt vào stack.
Khi kết thúc chuỗi M, pop từng phần tử trong stack ra và đưa vào chuỗi, viết ra màn hình.
[You must be registered and logged in to see this image.]
Được sửa bởi Admin ngày Sun Jul 03, 2011 9:59 pm; sửa lần 2.