1. Trang chủ
  2. » Địa lý

Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 11: Ký pháp nghịch đảo Balan (Reverse Polish Notation)

10 15 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 408,71 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

V ới cách viết này, việc tính toán dựa trên thứ tự của bi ểu thức, kết hợp với thứ tự ưu tiên của phép toán. RPN có tính logic cao vì ng ười dùng đưa biểu thức,[r]

Trang 1

Gi ảng viên: TS Ngo Huu Phuc

Tel: 0438 326 077 Mob: 098 5696 580 Email: ngohuuphuc76@gmail.com

Bài 11: Ký pháp ngh ịch đảo Balan

(Reverse Polish Notation)

Trang 2

Bài 11: Ký pháp ngh ịch đảo Balan

11.1 Reverse Polish Notation (RPN) (6)

11.2 Chuy ển đổi biểu dạng Infix sang RPN (7)

11.3 Ví d ụ về chuyển đổi từ Infix sang RPN (9)

11.4 Prefix Notation (3)

Tham kh ảo:

1 Data structures and Algorithms Stacks.htm

2 Kyle Loudon Mastering Algorithms, Chapter 6 Stacks and Queues

3 Elliz Horowitz – Fundamentals of Data Structures, Chapter 3 Stacks and

Queues

4 Deshpande Kakle – C and Data Structures, Chapter 19 Stacks and

Trang 3

11.1 Ký pháp ngh ịch đảo Balan (RPN)

N ội dung phần 11.1:

11.1.1 Khái ni ệm về Ký pháp nghịch đảo Balan (RPN) 11.1.2 T ại sao sử dụng Ký pháp nghịch đảo Balan? 11.1.3 M ột số ví dụ về Ký pháp nghịch đảo Balan.

Trang 4

11.1.1 Khái ni ệm về Ký pháp nghịch đảo Balan

 Ký pháp ngh ịch đảo Balan, còn được gọi là Postfix, do

Charles Hamblin đề xuất vào những năm 1950s…

 Ký pháp này l ấy ý tưởng của Polish notation, được đề

xu ất vào năm 1920 của nhà toán học người Balan có tên Jan Łukasiewicz (Trong một số tài liệu còn gọi là ký pháp Łukasiewicz).

Trang 5

11.1.2 T ại sao sử dụng RPN? (1/3)

RPN cho phép giảm thời gian trong việc tính một biểu

thức Người dùng không cần quan tâm đến dấu

ngoặc trong biểu thức

Với ký pháp này cho phép thấy kết quả ngay sau

phép toán

Với ký pháp này, việc thực hiện trên máy tính tỏ ra

hiệu quả hơn!!!

Trang 6

11.1.2 T ại sao sử dụng RPN?(2/3)

Với việc cho thấy kết quả ngay, do đó, người sử dụng

có thể kiểm tra kết quả dễ hơn, nhanh hơn

Với cách viết này, việc tính toán dựa trên thứ tự của

biểu thức, kết hợp với thứ tự ưu tiên của phép toán RPN có tính logic cao vì người dùng đưa biểu thức, sau đó đưa phép tính cần thực hiện

Trang 7

11.1.2 T ại sao sử dụng RPN?(3/3)

Xem xét m ột biểu thức đại số dạng Infix sau:

1 + 2 * 3 = ?

K ết quả là 7 hay 9?

Tr ả lời: kết quả là 7 vì phép * có độ ưu tiên cao hơn phép +.

Xem xét ví d ụ: (1+2) * 3?

K ết quả là 9

Rõ ràng, v ới dạng ký pháp này, người dùng dễ nhầm lẫn trong tính toán!!!

Trang 8

11.1.3 M ột số ví dụ về RPN (1/2)

Xem xét ký pháp RPN sau: 4 5 + 6 *

 K ết quả của biểu thức là bao nhiêu?

 4 5 + → 4 + 5 = 9

 9 6 * → 9 * 6 = 54

Biểu thức 4 5 + 6 * tương tự như biểu thức dạng Infix (4+5)*6

Các bước thực hiện:

1 4 5 + 6 *

Trang 9

11.1.3 M ột số ví dụ về RPN(2/2)

Xem xét biểu thức dạng Postfix: 6 4 5 + *

 K ết quả của biểu thức bằng?

 4 5 + → 4 + 5 = 9

 6 9 * → 6 * 9 = 54

Biểu thức 6 4 5 + * tương đương với biểu thức

dạng Infix: 6 * (4 + 5)

Các bước thực hiện:

1 6 4 5 + *

2 6 9 *

Trang 10

11.2 Chuy ển đổi biểu dạng Infix sang RPN

11.2.1 Ví dụ về chuyển đổi biểu thức dạng Infix sang RPN

11.2.2 Thuật toán chuyển đổi biểu thức dạng Infix

sang RPN

11.2.3 Chương trình chuyển đổi biểu thức dạng Infix sang dạng RPN

Ngày đăng: 10/03/2021, 16:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm