Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 – Trần Minh Thái (2017)

Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 3: Tổ chức ngăn xếp (Stack) & hàng đợi (Queue) trên mảng một chiều" trình bày các nội dung: Trình bày khái niệm ngăn xếp (Stack) và hàng đợi (Queue), các thao tác trên ngăn xếp và hàng đợi, minh họa các ứng dụng. . | Chương 3. Tổ chức ngăn xếp (Stack) & Hàng đợi (Queue) trên mảng một chiều Trần Minh Thái Email: minhthai@ Website: 1 Nội dung Trình bày khái niệm Ngăn xếp (Stack) và Hàng đợi (Queue) Các thao tác trên Ngăn xếp và Hàng đợi Minh họa các ứng dụng 2 2 Ngăn xếp Ngăn xếp là gì? Cách khai báo cấu trúc ngăn xếp dùng mảng một chiều? Các ứng dụng Cài đặt 3 Ví dụ về Ngăn xếp 4 Thành phần được lấy ra đầu tiên? Khái niệm Stack Gồm nhiều phần tử lưu trữ theo thứ tự Hoạt động theo cơ chế “Vào sau – Ra trước” (LIFO – Last In, First Out) Đỉnh ngăn xếp 5 Thao tác cơ bản trên Stack InitStack: khởi tạo Stack rỗng IsEmpty: kiểm tra Stack rỗng? IsFull: kiểm tra Stack đầy? Push: thêm 1 phần tử vào Stack Pop: lấy ra 1 phần tử khỏi Stack Push Pop 6 Thao tác Push vào Stack 7 Top PUSH 7 Thao tác Pop khỏi stack 8 Top POP Stack – Sử dụng mảng A B C A B C 0 1 2 3 4 5 6 7 8 9 Stack Top 9 Top Ngăn xếp – Sử dụng mảng 10 B A D C B A C B A D C B A E D C B A Top Top Top Top Top A Top Ví dụ, Ngăn xếp chứa số nguyên – Sử dụng mảng struct ttStack { int* StkArray; // mảng chứa các phần tử int StkMax; // số phần tử tối đa int StkTop; // vị trí đỉnh Stack }; typedef struct ttStack STACK; 11 Ngăn xếp số nguyên – Sử dụng mảng int InitStack(STACK& s, int MaxItems) { = new int[MaxItems]; if ( == NULL) return 0; = MaxItems; = -1; return 1; //Khởi tạo thành công } 12 Ngăn xếp số nguyên – Sử dụng mảng int IsEmpty(const STACK &s) { if () return 1; return 0; } 13 Stack số nguyên – Sử dụng mảng int IsFull(const STACK &s) { if () return 1; return 0; } 14 Stack số nguyên – Sử dụng mảng int Push (STACK &s, int newitem) { if (IsFull(s)==1) return 0; ; [] = newitem; return 1; } 15 Stack số nguyên – Sử dụng mảng int Pop(STACK &s, int &outitem) { if (IsEmpty(s)) return 0; outitem = []; ; return 1; } 16 Bài tập Viết hàm nhập, xuất Stack số nguyên dương sao cho: Cho . | Chương 3. Tổ chức ngăn xếp (Stack) & Hàng đợi (Queue) trên mảng một chiều Trần Minh Thái Email: minhthai@ Website: 1 Nội dung Trình bày khái niệm Ngăn xếp (Stack) và Hàng đợi (Queue) Các thao tác trên Ngăn xếp và Hàng đợi Minh họa các ứng dụng 2 2 Ngăn xếp Ngăn xếp là gì? Cách khai báo cấu trúc ngăn xếp dùng mảng một chiều? Các ứng dụng Cài đặt 3 Ví dụ về Ngăn xếp 4 Thành phần được lấy ra đầu tiên? Khái niệm Stack Gồm nhiều phần tử lưu trữ theo thứ tự Hoạt động theo cơ chế “Vào sau – Ra trước” (LIFO – Last In, First Out) Đỉnh ngăn xếp 5 Thao tác cơ bản trên Stack InitStack: khởi tạo Stack rỗng IsEmpty: kiểm tra Stack rỗng? IsFull: kiểm tra Stack đầy? Push: thêm 1 phần tử vào Stack Pop: lấy ra 1 phần tử khỏi Stack Push Pop 6 Thao tác Push vào Stack 7 Top PUSH 7 Thao tác Pop khỏi stack 8 Top POP Stack – Sử dụng mảng A B C A B C 0 1 2 3 4 5 6 7 8 9 Stack Top 9 Top Ngăn xếp – Sử dụng mảng 10 B A D C B A C B A D C B A E D C B A Top Top Top Top Top A Top Ví

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.