IỊ3.4. Một số ứng dụng của ngăn xếp

Một phần của tài liệu MỘT số vấn đề về KIỂU dữ LIỆU TRỪU TƯỢNG (Trang 31)

Chương II: DANH SÁCH TUYẾN TÍNH

IỊ3.4. Một số ứng dụng của ngăn xếp

• Lịch sử duyệt trang trong trình duyệt Web

• Dãy Undo trong bộ soạn thảo văn bản

• Kiểm tra tính hợp lệ của các dấu ngoặc trong biểu thức

• Đổi cơ số

• Ứng dụng trong cài đặt chương trình dịch (Compiler implementation)

• Tính giá trị biểu thức (Evaluation of expression)

• Quay lui (Backtracking)

• Khử đệ qui

• ….

Các ứng dụng khác (Indirect applications):

• Cấu trúc dữ liệu hỗ trợ cho các thuật toán

IỊ4. Hàng đợi (Queue)

IỊ4.1. Kiểu dữ liệu trừu tượng hàng đợi

Hàng đợi (Queue) là một kiểu danh sách mà việc bổ sung một phần tử được thực hiện ở cuối danh sách và việc loại bỏ một phần tử được thực hiện ở đầu danh sách.

Khi cài đặt hàng đợi, có hai vị trí quan trọng là vị trí đầu danh sách (front or head), nơi các phần tử được lấy ra, và vị trí cuối danh sách (rear or back), nơi phần tử cuối cùng được đưa vàọ

Có thể hình dung hàng đợi như một đoàn người xếp hàng mua vé: Người nào xếp hàng trước sẽ được mua vé trước.

Các phần tử được lấy ra khỏi hàng đợi theo qui tắc: Vào trước – Ra trước, vì thế hàng đợi còn còn có tên gọi là danh sách kiểu FIFO (First In First Out).

Một số thao tác cơ bản trên hàng đợi:

• Init: Khởi tạo một hàng đợi rỗng

• IsEmpty: Cho biết hàng đợi có rỗng không?

• IsFull: Cho biết hàng đợi có đầy không?

• Get: Đọc giá trị phần tử ở đầu hàng đợi

• Push: Đẩy một phần tử vào cuối hàng đợi

• Pop: Lấy ra một phần tử từ hàng đợi

Các thuật ngữ liên quan đến hàng đợi được mô tả trong hình vẽ sau đây:

Hình 8

IỊ4.2. Tổ chức hàng đợi bằng mảng (Array-based Queue)

Một phần của tài liệu MỘT số vấn đề về KIỂU dữ LIỆU TRỪU TƯỢNG (Trang 31)

Tải bản đầy đủ (DOC)

(76 trang)
w