Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Data.Heap.Binary
Description
Binary
provides a binary min-heap. Balance is maintained through descendant counting.
Synopsis
- data Ord n => BinaryHeap n
- head :: Ord a => BinaryHeap a -> a
- tail :: Ord a => BinaryHeap a -> BinaryHeap a
- merge :: Ord a => BinaryHeap a -> BinaryHeap a -> BinaryHeap a
- singleton :: Ord a => a -> BinaryHeap a
- empty :: Ord a => BinaryHeap a
- null :: Ord a => BinaryHeap a -> Bool
- fromList :: Ord a => [a] -> BinaryHeap a
- toList :: Ord a => BinaryHeap a -> [a]
- insert :: Ord a => a -> BinaryHeap a -> BinaryHeap a
Documentation
data Ord n => BinaryHeap n Source #
Instances
(Ord n, Show n) => Show (BinaryHeap n) Source # | |
Defined in Data.Heap.Binary Methods showsPrec :: Int -> BinaryHeap n -> ShowS # show :: BinaryHeap n -> String # showList :: [BinaryHeap n] -> ShowS # | |
Ord n => Eq (BinaryHeap n) Source # | |
Defined in Data.Heap.Binary | |
Ord n => Ord (BinaryHeap n) Source # | |
Defined in Data.Heap.Binary Methods compare :: BinaryHeap n -> BinaryHeap n -> Ordering # (<) :: BinaryHeap n -> BinaryHeap n -> Bool # (<=) :: BinaryHeap n -> BinaryHeap n -> Bool # (>) :: BinaryHeap n -> BinaryHeap n -> Bool # (>=) :: BinaryHeap n -> BinaryHeap n -> Bool # max :: BinaryHeap n -> BinaryHeap n -> BinaryHeap n # min :: BinaryHeap n -> BinaryHeap n -> BinaryHeap n # |
tail :: Ord a => BinaryHeap a -> BinaryHeap a Source #
O(lg n). tail
discards the root of the heap and merges the subtrees.
merge :: Ord a => BinaryHeap a -> BinaryHeap a -> BinaryHeap a Source #
merge
consumes two binary heaps and merges them.
singleton :: Ord a => a -> BinaryHeap a Source #
O(1). singleton
consumes an element and constructs a singleton heap.
fromList :: Ord a => [a] -> BinaryHeap a Source #
O(n). fromList
constructs a binary heap from an unsorted list.
toList :: Ord a => BinaryHeap a -> [a] Source #
O(n lg n).
insert :: Ord a => a -> BinaryHeap a -> BinaryHeap a Source #
O(lg n).