Thông tin tài liệu
DATA STRUCTURE AND ALGORITHM Stack CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NGĂN XẾP Dr Dao Nam Anh Data Structure and Algorithm Outline – Nội dung • Stack - Ngăn xếp Khái niệm Stack Các thao tác Stack Hiện thực Stack Ứng dụng Stack Data Structure and Algorithm Resource - Reference Slides of James Joshi , and Nor Bahiah Hj Ahmad, edit by Dao Nam Anh Major Reference: • Robert Sedgewick, and Kevin Wayne, “Algorithms” Princeton University, 2011, Addison Wesley • Algorithm in C (Parts 1-5 Bundle)- Third Edition by Robert Sedgewick, Addison-Wesley • Cấu trúc liệu giải thuật, Đinh Mạnh Tường • Giải thuật lập trình, Lê Minh Hoàng, Đại Học Sư Phạm, 2002 Data Structure and Algorithm Khái niệm Stack • Stack danh sách mà đối tượng thêm vào lấy đầu danh sách (A stack is simply a list of elements with insertions and deletions permitted at one end) • Việc thêm đối tượng vào Stack lấy đối tượng khỏi Stack thực theo chế LIFO (Last In First Out - Vào sau trước) • Các đối tượng thêm vào Stack lúc có đối tượng thêm vào sau phép lấy khỏi Stack Data Structure and Algorithm Khái niệm Stack • Stack danh sách mà đối tượng thêm vào lấy đầu danh sách (A stack is simply a list of elements with insertions and deletions permitted at one end) • Việc thêm đối tượng vào Stack lấy đối tượng khỏi Stack thực theo chế LIFO (Last In First Out - Vào sau trước) • Các đối tượng thêm vào Stack lúc có đối tượng thêm vào sau phép lấy khỏi Stack Data Structure and Algorithm Khái niệm Stack • • Ví dụ: Chồng sách, chồng đĩa LAST IN FIRST OUT (LIFO) data structure Slide of Nor Bahiah Hj Ahmad, Software Engineering Department, FSKSM Data Structure and Algorithm Các thao tác Stack • Stack hỗ trợ thao tác chính: “Push”: Thao tác thêm đối tượng vào Stack “Pop”: Thao tác lấy đối tượng khỏi Stack push Data Structure and Algorithm Các thao tác Stack • Stack hỗ trợ thao tác chính: “Push”: Thao tác thêm đối tượng vào Stack “Pop”: Thao tác lấy đối tượng khỏi Stack push Data Structure and Algorithm Các thao tác Stack • Stack hỗ trợ thao tác chính: “Push”: Thao tác thêm đối tượng vào Stack “Pop”: Thao tác lấy đối tượng khỏi Stack Data Structure and Algorithm Các thao tác Stack • Stack hỗ trợ thao tác chính: “Push”: Thao tác thêm đối tượng vào Stack “Pop”: Thao tác lấy đối tượng khỏi Stack pop Data Structure and Algorithm 10 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • • Viết chương trình thực * (3 + 4) khó Viết chương trình thực + * dễ Sử dụng Stack – ngăn xếp Data Structure and Algorithm 55 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* Data Structure and Algorithm 56 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* 2 Data Structure and Algorithm 57 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* 3 2 Data Structure and Algorithm 58 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + 4 3 2 Data Structure and Algorithm 59 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + 4 3 2 2 Data Structure and Algorithm 60 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + * 4 3 7 2 2 Data Structure and Algorithm 61 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + * 4 3 7 2 2 14 Data Structure and Algorithm 62 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + * 4 3 7 2 2 14 Data Structure and Algorithm 63 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + * 4 3 7 2 2 14 Data Structure and Algorithm 64 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + * 4 3 7 2 2 14 Data Structure and Algorithm 65 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + * 4 3 7 2 2 14 Data Structure and Algorithm 66 Use Stack for Parsing RPN Expressions Sử dụng ngăn xếp RPN • Chương trình tính RPN sử dụng ngăn xếp 234+* + * 4 3 7 2 2 14 Data Structure and Algorithm 67 Thuật toán ngăn xếp Dijkstra • Thuật tốn ngăn xếp Dijkstra Data Structure and Algorithm 68 Discussion – Câu hỏi • https://sites.google.com/site/daonamanhedu/datastructure-algorithm Data Structure and Algorithm 69 ... Addison-Wesley • Cấu trúc liệu giải thuật, Đinh Mạnh Tường • Giải thuật lập trình, Lê Minh Hồng, Đại Học Sư Phạm, 2002 Data Structure and Algorithm Khái niệm Stack • Stack danh sách mà đối tượng thêm vào... xảy Data Structure and Algorithm 13 Stack implementation - Triển khai ngăn xếp • • Ngăn xếp cấu trúc liệu • • Triển khai ngăn xếp nào? • • Stack is an abstract data structure • How to implement... Triển khai Ngăn xếp danh sách liên kết Data Structure and Algorithm 31 Linked List Implementation of Stack Triển khai Ngăn xếp danh sách liên kết • • Có thể tạo Stack cách sử dụng danh sách liên
Ngày đăng: 06/11/2017, 12:35
Xem thêm: Bài giảng cấu trúc dữ liệu và giải thuật ngăn xếp TS đào nam anh , Bài giảng cấu trúc dữ liệu và giải thuật ngăn xếp TS đào nam anh