heapq --- thuật toán hàng đợi heap

Mô-đun này triển khai thuật toán hàng đợi min heap.

Hàng đợi heap về cơ bản là một danh sách có các phần tử được lưu trữ theo cách sao cho phần tử đầu tiên trong danh sách luôn là nhỏ nhất. Thao tác chèn và xóa giá trị nhỏ nhất đều là O(log n), khiến heap trở thành một triển khai hàng đợi ưu tiên thuận tiện được xây dựng trên danh sách thông thường.

Hàm

heapq.heappush(heap: list, item: Any) None

Đẩy item lên heap.

heapq.heappop(heap: list) Any

Lấy phần tử đầu tiên ra khỏi heap và trả về nó. Ném ra IndexError nếu heap rỗng.

Phần tử được trả về sẽ là phần tử nhỏ nhất trong heap.

heapq.heapify(x: list) None

Chuyển đổi danh sách x thành heap. Đây là thao tác tại chỗ.