Efficient implementations of priority queues can often be clumsy beasts. We express a functional implementation of binomial queues which is both elegant and efficient. We also quantify some of the differences with other functional implementations. The operations decreaseKey and delete always pose a problem without destructive update, we show how our implementation may be extended to express these. 1 Functional priority queues A crucial part of many algorithms is the data structure that is used. Frequently, an algorithm needs an abstract data type providing a number of primitive operations on a data structure. A priority queue is one such data structure that is used by a number of algorithms. Applications include, Dijkstra's [4] algor...
We present a priority queue that supports the operations: insert in worst-case constant time, and de...
We introduce two data-structural transformations to construct double-ended priority queues from prio...
We introduce two data-structural transformations to construct double-ended priority queues from prio...
This paper explains binomial heaps, a beautiful data structure for priority queues, using the functi...
Brodal recently introduced the first implementation of imperative priority queues to support findMin...
This paper presents a new implementation technique for priority search queues. This abstract data ty...
Brodal recently introduced the first implementation of imperative priority queues to support findMin...
Functional programming languages are an excellent tool for teaching algorithms and data structures. ...
We introduce the heap-on-top (hot) priority queue data structure that combines the multi-level bucke...
In this paper we present and analyze functional programs for a number of priority queue operations. ...
In this paper we present and analyze functional programs for a number of priority queue operations. ...
We introduce two data-structural transformations to construct double-ended priority queues from pri...
We study the impact of using different priority queues in the performance of Dijkstra’s SSSP algorit...
We introduce a framework for reducing the number of element comparisons performed in priority-queue ...
This paper presents a very general technique for the implementation of mergeable priority queues. Th...
We present a priority queue that supports the operations: insert in worst-case constant time, and de...
We introduce two data-structural transformations to construct double-ended priority queues from prio...
We introduce two data-structural transformations to construct double-ended priority queues from prio...
This paper explains binomial heaps, a beautiful data structure for priority queues, using the functi...
Brodal recently introduced the first implementation of imperative priority queues to support findMin...
This paper presents a new implementation technique for priority search queues. This abstract data ty...
Brodal recently introduced the first implementation of imperative priority queues to support findMin...
Functional programming languages are an excellent tool for teaching algorithms and data structures. ...
We introduce the heap-on-top (hot) priority queue data structure that combines the multi-level bucke...
In this paper we present and analyze functional programs for a number of priority queue operations. ...
In this paper we present and analyze functional programs for a number of priority queue operations. ...
We introduce two data-structural transformations to construct double-ended priority queues from pri...
We study the impact of using different priority queues in the performance of Dijkstra’s SSSP algorit...
We introduce a framework for reducing the number of element comparisons performed in priority-queue ...
This paper presents a very general technique for the implementation of mergeable priority queues. Th...
We present a priority queue that supports the operations: insert in worst-case constant time, and de...
We introduce two data-structural transformations to construct double-ended priority queues from prio...
We introduce two data-structural transformations to construct double-ended priority queues from prio...