Friday, 6 August 2010

Data structures: Heaps

"A min-heap is a tree-based data structure that satisfies the constraint that the children at any given branch are always larger than their parent and, consequently, the minimum element is at the root. Heaps are most notable as an efficient way to implement priority queues which, in turn, underpin a variety of algorithms including some seen in previous OCaml Journal articles. This article examines skew heaps, leftist heaps, pairing heaps and binomial heaps. Higher-order modules are used to create reusable implementations..."