tailieunhanh - Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3.2 - Trần Minh Thái

Bài giảng Cấu trúc dữ liệu và giải thuật chương cung cấp các kiến thức về ngăn xếp và hàng đợi trong cấu trúc dữ liệu và giải thuật. Chương này tập trung trình bày khái niệm “ngăn xếp” (Stack) và “hàng đợi” (Queue), minh họa các ứng dụng, các phương pháp xây dựng Stack và Queue. . | Chương . Ngăn xếp & Hàng đợi 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) Minh họa các ứng dụng Các phương pháp xây dựng Stack và Queue 2 2 Khái niệm Stack 3 Khái niệm Stack Gồm nhiều phần tử Hoạt động theo cơ chế “Vào sau – Ra trước” (LIFO – Last In, First Out) Đỉnh ngăn xếp 4 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 5 Thao tác Push vào Stack 6 Top PUSH 6 Thao tác Pop khỏi stack 7 Top POP Cách xây dựng Stack 8 Mảng 1 chiều Danh sách liên kết Viết chương trình dễ dàng, nhanh chóng Bị hạn chế do số lượng phần tử cố định Tốn chi phí tái cấp phát và sao chép vùng nhớ nếu sử dụng mảng động Phức tạp khi triển khai chương trình Không bị cố định về số phần tử, phụ thuộc vào bộ nhớ Stack – Sử dụng mảng 9 3 6 9 3 6 0 1 2 3 4 5 6 7 8 9 Stack Top 9 Stack | Chương . Ngăn xếp & Hàng đợi 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) Minh họa các ứng dụng Các phương pháp xây dựng Stack và Queue 2 2 Khái niệm Stack 3 Khái niệm Stack Gồm nhiều phần tử Hoạt động theo cơ chế “Vào sau – Ra trước” (LIFO – Last In, First Out) Đỉnh ngăn xếp 4 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 5 Thao tác Push vào Stack 6 Top PUSH 6 Thao tác Pop khỏi stack 7 Top POP Cách xây dựng Stack 8 Mảng 1 chiều Danh sách liên kết Viết chương trình dễ dàng, nhanh chóng Bị hạn chế do số lượng phần tử cố định Tốn chi phí tái cấp phát và sao chép vùng nhớ nếu sử dụng mảng động Phức tạp khi triển khai chương trình Không bị cố định về số phần tử, phụ thuộc vào bộ nhớ Stack – Sử dụng mảng 9 3 6 9 3 6 0 1 2 3 4 5 6 7 8 9 Stack Top 9 Stack 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; 10 Stack số nguyên – Sử dụng mảng bool InitStack(STACK& s, int MaxItems) { = new int[MaxItems]; if ( == NULL) return false; = MaxItems; = -1; return true; } 11 Stack số nguyên – Sử dụng mảng bool IsEmpty(const STACK &s) { if () return true; return false; } 12 Stack số nguyên – Sử dụng mảng bool IsFull(const STACK &s) { if () return true; return false; } 13 Stack số nguyên – Sử dụng mảng bool Push (STACK &s, int newitem) { if (IsFull(s)) return false; ; [] = newitem; return true; } 14 Stack số nguyên – Sử dụng mảng bool Pop(STACK &s, int &outitem) { if (IsEmpty(s)) return false; outitem = []; ; return true; } 15 Bài tập Viết hàm nhập và xuất Stack số nguyên Khai báo cấu trúc và viết .

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã 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.