fgl-5.4.2.4: Martin Erwig's Functional Graph Library

Safe Haskell | None

Data.Graph.Inductive.Internal.Heap

Contents

- Type
- Operations

Description

Pairing heap implementation of dictionary

Synopsis

- data Ord a => Heap a b
  - = Empty
  - | Node a b [Heap a b]
- empty :: Ord a => Heap a b
- unit :: Ord a => a -> b -> Heap a b
- insert :: Ord a => (a, b) -> Heap a b -> Heap a b
- merge :: Ord a => Heap a b -> Heap a b -> Heap a b
- mergeAll :: Ord a => [Heap a b] -> Heap a b
- isEmpty :: Ord a => Heap a b -> Bool
- findMin :: Ord a => Heap a b -> (a, b)
- deleteMin :: Ord a => Heap a b -> Heap a b
- splitMin :: Ord a => Heap a b -> (a, b, Heap a b)
- build :: Ord a => [(a, b)] -> Heap a b
- toList :: Ord a => Heap a b -> [(a, b)]
- heapsort :: Ord a => [a] -> [a]

# Type

data Ord a => Heap a b Source

Constructors

Empty |
Node a b [Heap a b] |

Instances

(Eq b, Ord a) => Eq (Heap a b) |
(Show a, Ord a, Show b) => Show (Heap a b) |

# Operations

empty :: Ord a => Heap a bSource

unit :: Ord a => a -> b -> Heap a bSource

insert :: Ord a => (a, b) -> Heap a b -> Heap a bSource

merge :: Ord a => Heap a b -> Heap a b -> Heap a bSource

mergeAll :: Ord a => [Heap a b] -> Heap a bSource

isEmpty :: Ord a => Heap a b -> Bool Source

findMin :: Ord a => Heap a b -> (a, b)Source

deleteMin :: Ord a => Heap a b -> Heap a bSource

splitMin :: Ord a => Heap a b -> (a, b, Heap a b)Source

build :: Ord a => [(a, b)] -> Heap a bSource

toList :: Ord a => Heap a b -> [(a, b)]Source

heapsort :: Ord a => [a] -> [a]Source