Revamped garbage collection in the HashedCircularPriorityQueue, so build complexity is O(2logn+4), probe complexity is O(1) (with timestamps is O(m) where m << n), and garbage collection is O(3k) where k << n