Trong trình so ạn thảo văn bản, thao tác Undo được lưu trong stack.. Ứng dụng gián tiếp:.[r]
(1)Giảng viên: TS Ngo Huu Phuc Tel: 0438 326 077 Mob: 098 5696 580
Email:
Cấu trúc liệu giải thuật
(2)Nội dung:
9.1 Khái niệm stacks (7)
9.2 Các thao tác của stacks (9) 9.3 Các thao tác khác của stacks (9)
Tham khảo:
1 Data structures and Algorithms Stacks.htm
2 Kyle Loudon Mastering Algorithms, Chapter Stacks and Queues
3 Elliz Horowitz – Fundamentals of Data Structures, Chapter Stacks and
Queues
4 Deshpande Kakle – C and Data Structures, Chapter 19 Stacks and
Queues
(3) Có thể hình dung stack chồng đĩa Với chồng đĩa này, nhìn thấy đĩa cùng, đĩa cịn lại chưa nhìn thấy được.
Khi thêm một đĩa vào chồng đĩa (pushed), chiếc đĩa đỉnh stack, nhìn thấy.
(4)(5) Nguyên lý cơ stack Last In First Out
(LIFO), có nghĩa vào sau trước.
Với nguyên lý đó, có đĩa stack mới nhìn thấy Muốn nhìn thấy đĩa
(6)(7)Có thao tác của stack:
Push
Đưa phần tử vào đỉnh
của stack
Pop
Lấy từ đỉnh stack phần tử
Peek
Xem đỉnh stack chứa nội
dung gì?
(8) Ứng dụng trực tiếp:
Ứng dụng bật stack stack cho chương trình,
chương trình sử dụng stack để gọi hàm
Trong trình duyệt WEB, trang xem lưu stack
Trong trình soạn thảo văn bản, thao tác Undo lưu stack
Ứng dụng gián tiếp:
Cấu trúc liệu bổ trợ cho thuật toán khác
(9)Thực thi giới hạn stack.
Thực thi.
Gọi n số ô nhớ cho stack
Không gian sử dụng stack O(n)
Với thao tác, độ phức tạp O(1) Giới hạn.
Kích thước tối đa stack định nghĩa trước,
không thể thay đổi (nếu dùng mảng)
(10) Định nghĩa stack:
MAXSIZE: Số phần tử tối đa stack (nếu dùng
mảng)
ItemType: Kiểu liệu cho stack
Thao tác chính:
Push
Pop
Peek
Thao tác khác:
IsEmpty