Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
Stack & Queue Ngăn xếp & Hàng đợi
Nội dung
Ngăn xếp (Stack)
Ngăn xếp - Định nghĩa
Slide 5
Ngăn xếp
Slide 7
Slide 8
Slide 9
Ngăn xếp – Sử dụng mảng
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Slide 16
Slide 17
Ngăn xếp – Ví dụ ứng dụng
Ngăn xếp – Sử dụng DSLK
Slide 20
Slide 21
Slide 22
Slide 23
Slide 24
Slide 25
Slide 26
Slide 27
Slide 28
Ngăn xếp – Ứng dụng
Ngăn xếp – Quick Sort
Slide 31
Hàng đợi (Queue)
Hàng đợi – Định nghĩa
Slide 34
Hàng đợi
Slide 36
Hàng đợi – Sử dụng mảng
Slide 38
Slide 39
Slide 40
Slide 41
Slide 42
Slide 43
Slide 44
Slide 45
Slide 46
Slide 47
Slide 48
Hàng đợi – Ví dụ ứng dụng
Slide 50
Hàng đợi – Sử dụng DSLK
Slide 52
Slide 53
Slide 54
Slide 55
Slide 56
Slide 57
Slide 58
Nội dung
STACK & QUEUE NGĂN XẾP & HÀNG ĐỢI Nội dung • Trình bày khái niệm Stack Queue • Minh họa ứng dụng • Các phương pháp xây dựng Stack Queue dựa cấu trúc liệu biết •Stack –Ví dụ –Định nghĩa –Các thao tác –Xây dựng Stack •Queue –Ví dụ –Định nghĩa –Các thao tác –Xây dựng Queue Ngăn xếp (Stack) Chồng khay cà phê Chồng tiền xu Chồng sách Chồng áo sơ mi Các ví dụ Ngăn xếp Ngăn xếp - Định nghĩa • Stack cấu trúc: • gồm nhiều phần tử có thứ tự • hoạt động theo chế “Vào sau – Ra trước” (LIFO – Last In, First Out) Đỉnh ngăn xếp Ngăn xếp - Định nghĩa • Các thao tác Stack: Push • InitStack: khởi tạo Stack rỗng • IsEmpty: kiểm tra Stack rỗng ? • IsFull: kiểm tra Stack đầy ? • Push: thêm phần tử vào đỉnh Stack, làm Stack đầy • Pop: lấy phần tử từ đỉnh Stack, làm Stack rỗng • StackTop: kiểm tra phần tử đầu Stack Pop Ngăn xếp • Minh họa thao tác Push Data Top Ngăn xếp • Minh họa thao tác Pop Data Top Ngăn xếp • Minh họa thao tác StackTop Ngăn xếp không thay đổi ? Data Top ? Ngăn xếp • Có hai cách để xây dựng ngăn xếp • Sử dụng mảng chiều • Sử dụng danh sách liên kết đơn Mảng chiều Danh sách liên kết đơn - Viết chương trình dễ dàng, nhanh chóng - Bị hạn chế số lượng phần tử cố định - Tốn chi phí tái cấp phát chép vùng nhớ sử dụng mảng động Phức tạp triển khai chương trình Khơng bị cố định số phần tử, phụ thuộc vào nhớ Ngăn xếp – Sử dụng mảng Xây dựng ngăn xếp mảng chiều Top StkTop Đỉnh ngăn xếp Stack 6 Ngăn xếp có phần tử ... danh sách liên kết đơn Mảng chiều Danh sách liên kết đơn - Viết chương trình dễ dàng, nhanh chóng - Bị hạn chế số lượng phần tử cố định - Tốn chi phí tái cấp phát chép vùng nhớ sử dụng mảng động... Ngăn xếp Ngăn xếp - Định nghĩa • Stack cấu trúc: • gồm nhiều phần tử có thứ tự • hoạt động theo chế “Vào sau – Ra trước” (LIFO – Last In, First Out) Đỉnh ngăn xếp Ngăn xếp - Định nghĩa • Các... MaxItems; s.StkTop = -1 ; // chưa có phần tử Stack return 1; // khởi tạo thành cơng } Ngăn xếp – Sử dụng mảng • Thao tác “Kiểm tra Stack rỗng” int IsEmpty(const STACK &s) { if (s.StkTop= =-1 ) return 1;