Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Heap.Pairing
Contents
Synopsis
- data Pairing a
- empty :: Pairing a
- null :: Pairing a -> Bool
- singleton :: Ord a => a -> Pairing a
- fromList :: Ord a => [a] -> Pairing a
- insert :: Ord a => a -> Pairing a -> Pairing a
- merge :: Pairing a -> Pairing a -> Pairing a
- union :: Pairing a -> Pairing a -> Pairing a
- mapMonotonic :: Ord a => (t -> a) -> Pairing t -> Pairing a
- findMin :: Pairing a -> Maybe a
- deleteMin :: Pairing a -> Maybe (Pairing a)
- viewMin :: Pairing a -> Maybe (a, Pairing a)
- uncons :: Ord a => Pairing a -> Maybe (a, Pairing a)
- span :: (a -> Bool) -> Pairing a -> (Pairing a, Pairing a)
Documentation
Ephemeral heap, implemented as a Pairing Pairing.
Instances
Foldable Pairing Source # | Folds item in an increasing order |
Defined in Data.Heap.Pairing Methods fold :: Monoid m => Pairing m -> m # foldMap :: Monoid m => (a -> m) -> Pairing a -> m # foldMap' :: Monoid m => (a -> m) -> Pairing a -> m # foldr :: (a -> b -> b) -> b -> Pairing a -> b # foldr' :: (a -> b -> b) -> b -> Pairing a -> b # foldl :: (b -> a -> b) -> b -> Pairing a -> b # foldl' :: (b -> a -> b) -> b -> Pairing a -> b # foldr1 :: (a -> a -> a) -> Pairing a -> a # foldl1 :: (a -> a -> a) -> Pairing a -> a # elem :: Eq a => a -> Pairing a -> Bool # maximum :: Ord a => Pairing a -> a # minimum :: Ord a => Pairing a -> a # | |
Heap Pairing Source # | |
Defined in Data.Heap.Pairing Methods empty :: Ord a => Pairing a Source # null :: Ord a => Pairing a -> Bool Source # insert :: Ord a => a -> Pairing a -> Pairing a Source # merge :: Ord a => Pairing a -> Pairing a -> Pairing a Source # findMin :: Ord a => Pairing a -> Maybe a Source # deleteMin :: Ord a => Pairing a -> Maybe (Pairing a) Source # singleton :: Ord a => a -> Pairing a Source # viewMin :: Ord a => Pairing a -> Maybe (a, Pairing a) Source # fromList :: Ord a => [a] -> Pairing a Source # toList :: Ord a => Pairing a -> [a] Source # span :: Ord a => (a -> Bool) -> Pairing a -> (Pairing a, Pairing a) Source # | |
Eq (Pairing a) Source # | |
Ord (Pairing a) Source # | |
Semigroup (Pairing a) Source # | |
Monoid (Pairing a) Source # | |
Basic Operations
insert :: Ord a => a -> Pairing a -> Pairing a Source #
O(1), both amortised and worst, insert an element into a heap.
merge :: Pairing a -> Pairing a -> Pairing a Source #
O(1), both amortised and worst, merges two heaps.
Query
deleteMin :: Pairing a -> Maybe (Pairing a) Source #
O(log n) amortised and O(n) worst, removes the least element and returns remainder.