oalg-base-3.0.0.0: Algebraic structures on oriented entities and limits as a tool kit to solve algebraic problems.
Copyright(c) Erich Gut
LicenseBSD3
Maintainerzerich.gut@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

OAlg.Data.Tree

Description

binary trees for lookup.

Synopsis

Documentation

data Tree i x Source #

binary tree with node element in i and leaf element in x.

Constructors

Node i (Tree i x) (Tree i x) 
Leaf x 

Instances

Instances details
Foldable (Tree i) Source # 
Instance details

Defined in OAlg.Data.Tree

Methods

fold :: Monoid m => Tree i m -> m #

foldMap :: Monoid m => (a -> m) -> Tree i a -> m #

foldMap' :: Monoid m => (a -> m) -> Tree i a -> m #

foldr :: (a -> b -> b) -> b -> Tree i a -> b #

foldr' :: (a -> b -> b) -> b -> Tree i a -> b #

foldl :: (b -> a -> b) -> b -> Tree i a -> b #

foldl' :: (b -> a -> b) -> b -> Tree i a -> b #

foldr1 :: (a -> a -> a) -> Tree i a -> a #

foldl1 :: (a -> a -> a) -> Tree i a -> a #

toList :: Tree i a -> [a] #

null :: Tree i a -> Bool #

length :: Tree i a -> Int #

elem :: Eq a => a -> Tree i a -> Bool #

maximum :: Ord a => Tree i a -> a #

minimum :: Ord a => Tree i a -> a #

sum :: Num a => Tree i a -> a #

product :: Num a => Tree i a -> a #

Functor (Tree i) Source # 
Instance details

Defined in OAlg.Data.Tree

Methods

fmap :: (a -> b) -> Tree i a -> Tree i b #

(<$) :: a -> Tree i b -> Tree i a #

(Show i, Show x) => Show (Tree i x) Source # 
Instance details

Defined in OAlg.Data.Tree

Methods

showsPrec :: Int -> Tree i x -> ShowS #

show :: Tree i x -> String #

showList :: [Tree i x] -> ShowS #

(Eq i, Eq x) => Eq (Tree i x) Source # 
Instance details

Defined in OAlg.Data.Tree

Methods

(==) :: Tree i x -> Tree i x -> Bool #

(/=) :: Tree i x -> Tree i x -> Bool #

(Ord i, Ord x) => Ord (Tree i x) Source # 
Instance details

Defined in OAlg.Data.Tree

Methods

compare :: Tree i x -> Tree i x -> Ordering #

(<) :: Tree i x -> Tree i x -> Bool #

(<=) :: Tree i x -> Tree i x -> Bool #

(>) :: Tree i x -> Tree i x -> Bool #

(>=) :: Tree i x -> Tree i x -> Bool #

max :: Tree i x -> Tree i x -> Tree i x #

min :: Tree i x -> Tree i x -> Tree i x #

trLookup :: Ord i => Tree i x -> i -> x Source #

lookup a value in a binary tree.

trFilter :: (x -> Bool) -> Tree i x -> Maybe (Tree i x) Source #

the sub tree containing all leafs satisfying the given predicate.