Hàng đợi ưu tiên là cấu trúc dữ liệu quản lý một tập hợp các yếu tố với những ưu tiên liên quan. Chúng cho phép khôi phục lại yếu tố ưu tiên cao nhất hoặc thấp nhất, giúp chúng có ích trong nhiều ứng dụng như chương trình, mô phỏng và định tuyến mạng.

Những căn bản của việc đặt hàng đầu

Hàng đợi ưu tiên khác nhau với hàng đợi thường lệ bằng cách chỉ định ưu tiên cho mỗi yếu tố. Các yếu tố bị hủy bỏ dựa trên ưu tiên của chúng thay vì thứ tự chèn. Các thực hiện chung bao gồm các chồng nhị phân, đống Fibonacci, và cấu trúc dựa trên dãy.

Những hàng đợi ưu tiên được thực hiện

Thường xuyên thực hiện nhất là sử dụng một đống nhị phân, cung cấp hiệu quả chèn và loại bỏ hoạt động. trong một tối đa-heap, yếu tố ưu tiên cao nhất luôn luôn ở gốc, cho phép truy cập nhanh chóng.

Để thực hiện một hàng đợi ưu tiên:

  • Chọn một cấu trúc dữ liệu (v. d., chồng nhị phân)
  • Chèn các yếu tố dựa trên ưu tiên
  • Loại bỏ các yếu tố với quyền ưu tiên cao nhất hiệu quả
  • Cập nhật thứ tự ưu tiên khi cần thiết

Nghiên cứu trường hợp

Hàng đợi đặt hàng ưu tiên được dùng trong hệ thống điều hành để sắp xếp tiến trình, nơi mà các tiến trình được chỉ định ưu tiên, cũng được dùng trong thuật toán Dijkstra để tính toán đường ngắn nhất, quản lý nút dựa trên khoảng cách ngắn nhất hiện nay.

Trong mạng định tuyến, hàng đợi ưu tiên giúp xác định đường dẫn hiệu quả nhất bằng cách ưu tiên các tuyến với chi phí thấp hơn hoặc băng thông cao hơn. Những ứng dụng thực tế này cho thấy tầm quan trọng của việc thực hiện hàng đợi hiệu quả.