depq: Double-ended priority queues

[ bsd3, data, data-mining, data-structures, library ] [ Propose Tags ]

Double-ended priority queues, for efficient retrieval of minimum and maximum elements in ordered collections of items.

[Skip to Readme]


[Index] [Quick Jump]


Maintainer's Corner

For package maintainers and hackage trustees


Versions [RSS],,,,, 0.4.2
Change log
Dependencies base (>=4.7 && <5), containers (>=, deepseq (>=1.4.4), psqueues (>= [details]
License BSD-3-Clause
Copyright 2020 Marco Zocca
Author Marco Zocca
Maintainer ocramz
Category Data, Data Structures, Data Mining
Home page
Bug tracker
Source repo head: git clone
Uploaded by ocramz at 2020-05-23T07:30:38Z
Distributions LTSHaskell:0.4.2, NixOS:0.4.2, Stackage:0.4.2
Downloads 881 total (18 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-05-23 [all 1 reports]

Readme for depq-

[back to package description]


Double-ended priority queues

This library provides a type for 'DEPQ's, along with functions for constructing and querying them.


The 'Data.DEPQ' module exports the user interface, which is similar to that of most Haskell data container libraries.

The most common use case of this library is to populate a DEPQ (either from a 'Foldable' collection or by 'insert'ing incrementally) and query either or both of its extremes (with 'findMin', 'findMax', 'popMin', 'popMax', 'topK', 'bottomK').

Have fun!


Currently the implementation is based on 'IntPSQ' (integer-indexed priority search queues) from the 'psqueues' package.