Tồn tại các phương pháp chung để đạt được cấu trúc dữ liệu DEPQ (Double Ended Priority Queue) hiệu quả từ cấu trúc dữ liệu hàng đợi ưu tiên đơn đầu (single-ended priority queue - PQ) cũng cung cấp cài đặt hiệu quả cho thao tác remove(bNode) (thao tác này loại bỏ nút bNode khỏi PQ). Phương pháp đơn giản nhất, phương pháp cấu trúc đôi (dual structure method), duy trì cả min PQ và max PQ của tất cả phần tử DEPQ cùng với con trỏ tương ứng (correspondence pointers) giữa các nút của min PQ và max PQ chứa cùng phần tử.
Hình D hiển thị cấu trúc heap đôi cho các phần tử 7, 8, 3, 6, 5. Con trỏ tương ứng hiển thị bằng mũi tên đỏ.

Hình D: Heap đôi
Mặc dù hình vẽ hiển thị mỗi phần tử lưu trong cả min và max heap, nhưng yêu cầu chỉ lưu mỗi phần tử trong một trong hai heap.
Thao tác isEmpty và size được thực hiện bằng biến size theo dõi số phần tử trong DEPQ. Phần tử nhỏ nhất ở gốc min heap, phần tử lớn nhất ở gốc max heap. Để chèn phần tử B, chèn B vào cả min và max heap, sau đó thiết lập con trỏ tương ứng giữa vị trí B trong min và max heap. Để xóa phần tử nhỏ nhất, làm removeMin từ min heap và remove(bNode), nơi bNode là nút tương ứng cho phần tử bị xóa, từ max heap. Phần tử lớn nhất bị xóa theo cách tương tự.