Tải bản đầy đủ (.docx) (3 trang)

Đề tài ứng dụng ngăn xếp (stack) và hàng đợi (queue) để viết chương trình biến đổi biểu thức trung tố thành tiền tố và hậu tố

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (102.76 KB, 3 trang )

Đề cương CTDL & GT
Ứng dụng ngăn xếp (Stack) và hàng đợi (Queue) để viết chương trình biến đổi biểu
thức trung tố thành tiền tố và hậu tố

Phần I: Mở đầu
1. Giới thiêu đề tài:
Trong khoa học máy tính, cấu trúc dữ liệu là cách lưu dữ liệu trong máy tính
sao cho nó có thể được sử dụng một cách hiệu quả. Thông thường, một cấu trúc dữ
liệu được chọn cẩn thận sẽ cho phép thực hiện thuật toán hiệu quả hơn. Việc chọn cấu
trúc dữ liệu thường bắt đầu từ chọn một cấu trúc dữ liệu trừu tượng. Một cấu trúc dữ
liệu được thiết kế tốt cho phép thực hiện nhiều phép toán, sử dụng càng ít tài nguyên,
thời gian xử lý và không gian bộ nhớ càng tốt. Các cấu trúc dữ liệu được triển khai
bằng cách sử dụng các kiểu dữ liệu, các tham chiếu và các phép toán trên đó được
cung cấp bởi một ngôn ngữ lập trình.
Trong đó nổi trội lên là hai cấu trúc dữ liệu đó là Stack (ngăn xếp) và Queue
(hàng đợi). Stack và Queue có ứng dụng rất nhiều kể cả trong thuật toán lẫn trong thực
tế. Vì vậy em xin chọn đề tài “Ứng dụng ngăn xếp (Stack) và hàng đợi (Queue) để viết
chương trình biến đổi biểu thức trung tố thành tiền tố và hậu tố”.
2. Mục đích yêu cầu của đề tài:
2.1. Mục đích:
Đề tài này giúp em củng cố, nâng cao kiến thức về môn học cấu trúc dữ liệu và giải
thuật. Từ đó hiểu sâu hơn và vận dụng vào trong các bài toán số liệu thực tế đồng thời
thông qua việc làm đề tài này giúp em biết được các phương pháp nghiên cứu một vấn
đề nhỏ nào đó.
2.2. Yêu cầu:
+ Dùng ngôn ngữ lập trình C/C++ để cài đặt chương trình. Với dữ liệu được nhập
vào từ bàn phím.


3. Phương pháp nghiên cứu:
+ Tham khảo tài liệu: cấu trúc dữ liệu và giải thuật, trên mạng…


+ Tìm hiểu thực tiễn, thực tế, quy cách, nhu cầu của bài toán.
+ Xin ý kiến, hướng dẫn của giáo viên hướng dẫn.
Phần II: Nội Dung
I. Ngăn xếp (Satck)
1.
+ Định nghĩa Stack
+ Cách lưu trữ Stack
2.
Các công việc cần thiết: (viết code bằng con trỏ)
+ Viết các khai báo cần thiết của Stack
+ Viết thủ tục khởi tạo một Stack rỗng.
+ Viết hàm kiểm tra Stack rỗng.
+ Viết thủ tục thêm một phần tử vào Stack.
+ Viết thủ tục xóa một phần tử khỏi Stack.
+ Viết chương trình con lấy nội dung của phần tử tại đỉnh của Stack.
II. Hàng đợi (Queue)
1.
+ Định nghĩa Queue
+ Cách lưu trữ Queue
2.
Các công việc cần thiết:
+ Viết các khai báo cần thiết của Queue
+ Viết thủ tục khởi tạo một Queue rỗng.
+ Viết hàm kiểm tra Queue rỗng.
+ Viết thủ tục thêm một phần tử vào Queue.
+ Viết thủ tục xóa một phần tử khỏi Queue.
+ Viết chương trình con lấy nội dung của phần tử tại đỉnh của Queue. (in ra kết quả)
III. Biểu thức số học và ký pháp Ba Lan
1. Đặt vấn đề. (Bài toán)



2.
Các công việc cần thiết:
+ Viết chương trình con đổi biểu thức từ dạng trung tố sang dạng tiền tố. (in ra kết
quả)
+ Viết chương trình con đổi biểu thức từ dạng trung tố sang dạng hậu tố. (in ra kết
quả)
+ Viết chương trình con tính giá trị của biểu thức tiền tố. (in ra kết quả)
+ Viết chương trình con tính giá trị của biểu thức hậu tố. (in ra kết quả)
Phần III: Kết luận



×