fgl-5.5.2.3: Martin Erwig's Functional Graph Library

Safe HaskellSafe
LanguageHaskell98

Data.Graph.Inductive.Internal.Heap

Contents

Description

Pairing heap implementation of dictionary

Synopsis

Type

data Heap a b

Constructors

Empty 
Node a b [Heap a b] 

Instances

(Eq a, Eq b) => Eq (Heap a b) 
(Read a, Read b) => Read (Heap a b) 
(Show a, Show b) => Show (Heap a b) 
(NFData a, NFData b) => NFData (Heap a b) 

prettyHeap :: (Show a, Show b) => Heap a b -> String

printPrettyHeap :: (Show a, Show b) => Heap a b -> IO ()

Operations

empty :: Heap a b

unit :: 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 :: Heap a b -> Bool

findMin :: 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]