Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 156 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
156
Dung lượng
647,71 KB
Nội dung
Ng n x p - Haøng ñôïi ă ế (Stack – Queue) 6/27/14Nhập môn CTDL và Thuật toán1 Phân cấp đặc biệt hoá 6/27/14Nhập môn CTDL và Thuật toán2 List tuần tự First()=pos Value(pos)=item Kth(integer)=item Next(pos)=pos Length()=integer SetKth(item,integer) Insert(item,pos) Delete(pos) Find(item)=position Stack LIFO Push(item) Pop()=item IsEmpty()=true/false Queue FIFO Enqueue(item) Dequeue()=item IsEmpty()=true/false Vector ngẫu nhiên Kth(int) = item SetKth(item,integer) Stack 6/27/14Nhập môn CTDL và Thuật toán3 Stack 6/27/14Nhập môn CTDL và Thuật toán4 Stack 6/27/14Nhập môn CTDL và Thuật toán5 Stack 6/27/14Nhập mơn CTDL và Thuật tốn6 Stack là một vật chứa (container) các đối tượng làm việc theo cơ chế LIFO (Last In First Out) ⇒ Việc thêm một đối tượng vào stack hoặc lấy một đối tượng ra khỏi stack được thực hiện theo cơ chế “Vào sau ra trước”. Các đối tượng có thể được thêm vào stack bất kỳ lúc nào nhưng chỉ có đối tượng thêm vào sau cùng mới được phép lấy ra khỏi Stack 6/27/14Nhập mơn CTDL và Thuật tốn7 Stack là một CTDL trừu tượng (ADT) tuyến tính hỗ trợ 2 thao tác chính: Push(o): Thêm đối tượng o vào đầu stack Pop(): Lấy đối tượng ở đầu stack ra khỏi stack và trả về giá trò của nó. Nếu stack rỗng thì lỗi sẽ xảy ra. Stack 6/27/14Nhập mơn CTDL và Thuật tốn8 Stack cũng hỗ trợ một số thao tác khác: isEmpty(): Kiểm tra xem stack có rỗng không. Top(): Trả về giá trò của phần tử nằm ở đầu stack mà không hủy nó khỏi Nếu stack rỗng thì lỗi sẽ xảy ra. Ví dụ 6/27/14Nhập môn CTDL và Thuật toán9 push push push Ví dụ 6/27/14Nhập môn CTDL và Thuật toán10 push push push pop push Last in, First out.