random-tree-0.6.0.5: Create random trees

Safe HaskellNone
LanguageHaskell2010

Math.RandomTree.Label

Description

Collects all functions pertaining to the labeling of a tree

Synopsis

Documentation

modifyLabel :: Eq a => a -> a -> a -> a Source

Modify the label of a tree

getNeighbors :: Ord a => Int -> a -> Tree (SuperNode a) -> [a] Source

Get the neighbors of a label in a fast, theoretically efficient way

clumpIt :: (Ord a, Eq b) => Int -> Tree (SuperNode a) -> a -> b -> MaybePropertyMap a b -> MaybePropertyMap a b Source

Assign clumps to the label list. Takes an old label and reassigns it to the new label in the labelmap, but looks at all neighbors defined by the distanceMap and the neighborDistance. If the reassigned nodes have already been reassigned (in the propertyList), then ignore.

assignRandomClumpedProperties :: (Ord a, Eq b) => [b] -> Int -> Tree (SuperNode a) -> StdGen -> MaybePropertyMap a b -> MaybePropertyMap a b Source

Assign random labels to the leaves of a tree in a clumped fashion

assignRandomProperties :: Ord a => [b] -> StdGen -> MaybePropertyMap a b -> MaybePropertyMap a b Source

Assign random labels to the leaves of a tree

emptyPropertyMap :: Ord a => [a] -> MaybePropertyMap a b Source

Return the empty propertyMap

getPropertyMap :: Ord a => [a] -> PropertyMap a a Source

Return the propertyMap