Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Provides a typeclass for all binary search trees and an unbalanced implementation
- class Ord o => Indexable i o v | i -> o, i -> v where
- class Indexable i o v => AnyBST t i o v where
- anyBstInsert :: i -> t i -> t i
- anyBstRemove :: o -> t i -> t i
- anyBstMax :: t i -> Maybe i
- anyBstMin :: t i -> Maybe i
- anyBstLookup :: o -> t i -> Maybe v
- anyBstEmpty :: t i
- anyBstHead :: t i -> Maybe i
- anyBstInorder :: t i -> [i]
- data BST a
- bstInsert :: Indexable i o v => i -> BST i -> BST i
- bstRemove :: Indexable i o v => o -> BST i -> BST i
- bstMax :: BST i -> Maybe i
- bstMin :: BST i -> Maybe i
- bstLookup :: Indexable i o v => o -> BST i -> Maybe v
- bstContains :: Indexable i o v => o -> BST i -> Bool
- bstHead :: Indexable i o v => BST i -> Maybe i
- bstInorder :: Indexable i o v => BST i -> [i]
Documentation
class Ord o => Indexable i o v | i -> o, i -> v where Source
Only instances of Indexable may be saved in a BST
class Indexable i o v => AnyBST t i o v where Source
Typeclass for all BSTs that store the given Indexable
anyBstInsert :: i -> t i -> t i Source
Insert into the tree
anyBstRemove :: o -> t i -> t i Source
Remove from the tree
anyBstMax :: t i -> Maybe i Source
Get the greatest element
anyBstMin :: t i -> Maybe i Source
Get the least element
anyBstLookup :: o -> t i -> Maybe v Source
Lookup a given key
anyBstEmpty :: t i Source
An empty tree
anyBstHead :: t i -> Maybe i Source
The root of the tree
anyBstInorder :: t i -> [i] Source
Traverse the tree in order
An unbalanced binary search tree
bstContains :: Indexable i o v => o -> BST i -> Bool Source
Lookup if a given key is contained
bstInorder :: Indexable i o v => BST i -> [i] Source
Traverse the tree in order