PRIORITY QUEUE LÀ GÌ

     

Hàng đợi ưu tiên (priority queue) là 1 trong loại hàng ngóng (queue) đặc biệt, trong đó mỗi thành phần (element) được links với một cường độ ưu tiên (priority) cùng được giao hàng theo cường độ ưu tiên của nó. Nếu như các thành phần có cùng mức độ ưu tiên xảy ra, bọn chúng sẽ được giao hàng theo đồ vật tự của bọn chúng trong mặt hàng đợi.

Bạn đang xem: Priority queue là gì

Nói chung, cực hiếm của bản thân thành phần được chăm chú để hướng dẫn và chỉ định mức độ ưu tiên. Ví dụ thành phần có giá trị tối đa được coi là bộ phận có nút ưu tiên cao nhất. Mặc dù nhiên, trong những trường đúng theo khác, chúng ta cũng có thể giả sử bộ phận có giá trị thấp nhất là phần tử có mức độ ưu tiên cao nhất. Bọn họ cũng bao gồm thể tùy chỉnh cấu hình các ưu tiên theo nhu cầu của bọn chúng tôi.

Xem thêm: Hướng Dẫn Cách Đọc File Đính Kèm Trong Gmail ? Cách Đọc File Đính Kèm Trong Gmail

Triển khai (implementation) hàng ngóng ưu tiên (priority queue)

Hàng đợi ưu tiên có thể được triển khai bằng phương pháp sử dụng mảng (array), danh sách links (linked list), kết cấu dữ liệu heap hoặc cây kiếm tìm kiếm nhị phâ (binary tìm kiếm tree)n. Trong những các kết cấu dữ liệu này, kết cấu dữ liệu heap hỗ trợ việc triển khai tác dụng các hàng ngóng ưu tiên.

Xem thêm: Isopropyl Myristate Là Gì ? Isopropyl Myristate Trong Mỹ Phẩm Là Chất Gì

Bên dưới là code thực hiện (implementation) hàng ngóng ưu tiên (priority queue) bằng heap trong C:

// Priority Queue implementation in C#include int size = 0;void swap(int *a, int *b) int temp = *b; *b = *a; *a = temp;// Function khổng lồ heapify the treevoid heapify(int array<>, int size, int i) if (size == 1) printf("Single element in the heap"); else // Find the largest among root, left child và right child int largest = i; int l = 2 * i + 1; int r = 2 * i + 2; if (l array) largest = l; if (r array) largest = r; // Swap and continue heapifying if root is not largest if (largest != i) swap(&array, &array); heapify(array, size, largest); // Function khổng lồ insert an element into the treevoid insert(int array<>, int newNum) if (size == 0) array<0> = newNum; kích thước += 1; else array = newNum; kích thước += 1; for (int i = kích cỡ / 2 - 1; i >= 0; i--) heapify(array, size, i); // Function to delete an element from the treevoid deleteRoot(int array<>, int num) int i; for (i = 0; i = 0; i--) heapify(array, size, i); // Print the arrayvoid printArray(int array<>, int size) { for (int i = 0; i một số trong những ứng dụng của hàng hóng ưu tiên (priority queue) là:

Thuật toán DijkstraĐể tiến hành ngăn xếp (stack)Để thăng bằng tải (load balancing ) và xử lý ngắt (interrupt) vào hệ điều hànhĐể nén tài liệu trong mã Huffman

Từ điển goutcare-gbc.com

Qua bài viết này công ty chúng tôi mong bạn sẽ hiểu được tư tưởng priority queue là gì. goutcare-gbc.com là bộ từ điển dùng làm tra cứu các thuật ngữ cũng như các từ thông dụng mang nghĩa khó. Mỗi ngày cửa hàng chúng tôi đều update từ mới, hiện nay tại đó là bộ từ điển sẽ trong thừa trình cách tân và phát triển cho đề xuất nên số lượng từ giảm bớt và thiếu các tính năng ví như lưu trường đoản cú vựng, phiên âm, v.v. Trong tương lai công ty chúng tôi với hy vọng tạo ra một cỗ từ điển với số từ to và bổ sung cập nhật thêm những tính năng. Chúng ta cũng có thể đóng góp từ mới hoặc thêm nghĩa bắt đầu của từ priority queue tại link, việc đóng góp của công ty không những khiến cho bạn củng vậy lại kiến thức và kỹ năng mà cũng đồng thời giúp người khác.