Cải thiện bài viết
Lưu bài viết
Cải thiện bài viết
Lưu bài viết
Đọc are abstract data structures where each data/value in the queue has a certain priority. For example, In airlines, baggage with the title “Business” or “First-class” arrives earlier than the rest.
Bàn luận
- Hàng đợi ưu tiên là các cấu trúc dữ liệu trừu tượng trong đó mỗi dữ liệu/giá trị trong hàng đợi có mức độ ưu tiên nhất định. Ví dụ, trong các hãng hàng không, hành lý với tiêu đề kinh doanh, hoặc hạng nhất của nhóm đến sớm hơn phần còn lại.
- Hàng đợi ưu tiên là một phần mở rộng của hàng đợi với các thuộc tính sau.
Various applications of the Priority queue in Computer Science are:
Job Scheduling algorithms, CPU and Disk Scheduling, managing resources that are shared among different processes, etc.
Một yếu tố có mức độ ưu tiên cao được khử trùng trước một phần tử có mức độ ưu tiên thấp.
- Nếu hai yếu tố có cùng mức độ ưu tiên, chúng được phục vụ theo đơn đặt hàng của chúng trong hàng đợi. Các ứng dụng của hàng đợi ưu tiên trong khoa học máy tính là: Thuật toán lập kế hoạch công việc, CPU và lập kế hoạch đĩa, quản lý tài nguyên được chia sẻ giữa các quy trình khác nhau, v.v.
- Sự khác biệt chính giữa hàng đợi ưu tiên và hàng đợi:
Trong hàng đợi, yếu tố lâu đời nhất được khử trùng đầu tiên. Trong khi, trong hàng đợi ưu tiên, một yếu tố dựa trên mức ưu tiên cao nhất được giải quyết.simple implementation of the priority queue.
Khi các phần tử được bật ra khỏi hàng đợi ưu tiên, kết quả thu được được sắp xếp theo thứ tự tăng hoặc theo thứ tự giảm. Trong khi, khi các phần tử được bật từ một hàng đợi đơn giản, một thứ tự dữ liệu FIFO thu được trong kết quả.
Dưới đây là một triển khai đơn giản của hàng đợi ưu tiên.
Python
class
PriorityQueue[
object
def
__init__[
self
]:
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]1
self
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]3
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]4
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]5
def
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]8
self
]:
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]1
class
2 class
3class
4class
5class
6class
7
def
PriorityQueue[
4self
]:
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]1
self
]:
3Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]1
class
2 PriorityQueue[
9object
0self
__422Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]1
0
1
def
object
8self
]:
0
def
]:
6self
]:
2
3
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]4
object
5
2class
7 class
8class
9 def
0object
0PriorityQueue[
9object
0self
def
5
‘
__init__[
2
3
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]4
__init__[
5
2__init__[
7
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]4
self
self
0
2self
2 self
self
0
2
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]02
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]03
2
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]05
2class
2 self
7
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]1
self
9 Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]00
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]17
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]18
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]19
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]17
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]22
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]19
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]17
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]26
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]19
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]17
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]30
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]19
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]02
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]34
def
7
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]07
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]4
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]4
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]10
1Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]1
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]02
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]41
Output:
12 1 14 7 14 12 7 1
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]13
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]4
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]15better implementation is to use Binary Heap which is typically used to implement a priority queue. Note that Python provides heapq in the library also.
Time complexity: By using heap data structure to implement Priority Queues Insert Operation: O[log[n]] Delete Operation: O[log[n]]