I'm looking at using two Strict Fibonacci Queues—queue_0
and queue_1
—where queue_0
holds the datetime ordered events (key
) and queue_1
holds the deletes.
Then I can simply run:
if(queue_0->findMin() == queue_1->findMin())
queue_0->deleteMin(), queue_1->deleteMin;
That way at the expense of a non constant increase in auxiliary memory; inserts takes O(1), arbitrary "deletes" and delete-min's take O(lg n). [all worst-case complexities; with cost of second queue being no more than 2× complexity of first queue in worst case; i.e.: equivalent in Big-Oh]
So, are there any open-source distributed priority queues with efficient arbitrary deletes? - E.g.: using this simple approach or one with better complexities? - Maybe integratable with Redis or similar?