Modifier and Type | Interface and Description |
---|---|
interface |
BalancingTree<E,N extends OpenNode<E,N>>
A mutable, self-balancing tree.
|
Modifier and Type | Method and Description |
---|---|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
Rebalancer.rebalance(T tree) |
Modifier and Type | Interface and Description |
---|---|
interface |
BinaryTree<E,N extends OpenBinaryTreeNode<E,N>>
A binary tree.
|
interface |
MutableBinaryTree<E,N extends OpenMutableBinaryTreeNode<E,N>>
Represents a mutable binary tree.
|
Modifier and Type | Class and Description |
---|---|
class |
BinaryTreeWrapper<E,N extends OpenBinaryTreeNode<E,N>>
Wrap and binary node to create a binary tree.
|
Modifier and Type | Method and Description |
---|---|
Class<? extends Tree> |
BinaryTreeNodeImpl.EmptyConstructor.forClass() |
Class<? extends Tree> |
BinaryTreeNodeImpl.BinaryTreeConstructor.forClass() |
Class<? extends Tree> |
BinaryTreeConverter.forClass() |
Class<? extends Tree> |
Implementation.forClass() |
Modifier and Type | Method and Description |
---|---|
<S extends OpenNode<E,S>> |
BinaryTreeConverter.build(Tree<E,S> sourceTree) |
Modifier and Type | Class and Description |
---|---|
class |
MutableBinaryTreeImpl<E>
Mutable binary tree implementation.
|
Modifier and Type | Method and Description |
---|---|
Class<? extends Tree> |
Constructor.forClass() |
Class<? extends Tree> |
EmptyConstructor.forClass() |
Class<? extends Tree> |
Implementation.forClass() |
Class<? extends Tree> |
Converter.forClass() |
Modifier and Type | Method and Description |
---|---|
<S extends OpenNode<E,S>> |
Converter.build(Tree<E,S> sourceTree) |
ParentReference<MutableBinaryTreeNode<E>> |
ParentReferenceFactoryImpl.wrap(Tree<E,MutableBinaryTreeNode<E>> tree) |
Modifier and Type | Class and Description |
---|---|
class |
BinarySearchTree<E>
A binary search tree implementation.
|
Modifier and Type | Method and Description |
---|---|
Class<? extends Tree> |
BinarySearchTreeEmptyConstructor.forClass() |
Class<? extends Tree> |
Implementation.forClass() |
Modifier and Type | Interface and Description |
---|---|
interface |
BaseTreeBuilder<E,N extends OpenNode<E,N>,B extends Tree<E,N>>
Base implementation of all tree builders.
|
class |
TypeKey<T extends Tree<?,?>>
Type key to support generics when constructing trees.
|
Modifier and Type | Method and Description |
---|---|
Tree<String,Node<String>> |
ImmutableTreeExamples.createTreeFromTheBottomUp(BottomUpTreeBuilder<String,Node<String>> builder) |
Tree<String,Node<String>> |
ImmutableTreeExamples.createTreeFromTopDown(TopDownTreeRootBuilder<String,Node<String>> builder) |
Modifier and Type | Method and Description |
---|---|
void |
TraversalExamples.elementIterator(TreeIteratorFactory iterators,
Tree<String,Node<String>> tree) |
void |
TraversalExamples.elementTreeWalker(TreeWalkerFactory walkers,
Tree<String,Node<String>> tree) |
void |
TraversalExamples.elementWalker(TreeWalkerFactory walkers,
Tree<String,Node<String>> tree) |
void |
CompleteExample.lambdaMatcher(Trees trees,
Tree<String,Node<String>> tree) |
void |
CompleteExample.nodeSelector(Trees trees,
Tree<String,Node<String>> tree) |
void |
NodeSelectorExamples.selectorExample(NodeSelector<String> selector,
Tree<String,Node<String>> tree) |
void |
TreeSelectorExamples.selectorExample(TreeSelector<String> selector,
Tree<String,Node<String>> tree) |
void |
NodeSelectorExamples.selectorExampleOnMutableTree(NodeSelector<String> selector,
Tree<String,MutableNode<String>> tree) |
void |
StreamExamples.streamElements(NodeStreamFactory nodeStreamFactory,
Tree<String,Node<String>> tree) |
void |
CompleteExample.sum(Trees trees,
Tree<Integer,Node<Integer>> tree)
Sum all the values in an integer tree.
|
void |
CompleteExample.treeSelector(Trees trees,
Tree<String,Node<String>> tree) |
Modifier and Type | Method and Description |
---|---|
void |
BalancedTreeExamples.balancedTreeExample(OrganisedTreeBuilder<String,Node<String>,Tree<String,Node<String>>> builder) |
Modifier and Type | Class and Description |
---|---|
class |
TreeNodeImpl<E>
Immutable tree and tree node implementation.
|
Modifier and Type | Method and Description |
---|---|
<S extends OpenNode<E,S>> |
Converter.build(Tree<E,S> sourceTree) |
Modifier and Type | Method and Description |
---|---|
Class<Tree> |
TreeKeyMapping.forClass() |
Class<? extends Tree> |
Constructor.forClass() |
Class<? extends Tree> |
EmptyConstructor.forClass() |
Class<? extends Tree> |
Implementation.forClass() |
Class<? extends Tree> |
Converter.forClass() |
Class<? extends Tree> |
TreeKeyMapping.getConcreteClass() |
static <E> TypeKey<? extends Tree<E,Node<E>>> |
TreeNodeImpl.typeKey()
Construct a TypeKey for a specific element type.
|
Modifier and Type | Method and Description |
---|---|
<S extends OpenNode<E,S>> |
Converter.build(Tree<E,S> sourceTree) |
Modifier and Type | Method and Description |
---|---|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeIteratorFactoryImpl.breadthFirstIterator(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
NodeStreamFactoryImpl.breadthFirstStream(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeIteratorFactoryImpl.inOrderIterator(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
NodeStreamFactoryImpl.inOrderStream(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeIteratorFactoryImpl.postOrderIterator(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
NodeStreamFactoryImpl.postOrderStream(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeIteratorFactoryImpl.preOrderIterator(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
NodeStreamFactoryImpl.preOrderStream(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkBreadthFirst(T tree,
Walker<N> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkElementsBreadthFirst(T tree,
Walker<E> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkElementsInOrder(T tree,
Walker<E> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkElementsPostOrder(T tree,
Walker<E> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkElementsPreOrder(T tree,
TreeWalker<E> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkElementsPreOrder(T tree,
Walker<E> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkInOrder(T tree,
Walker<N> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkPostOrder(T tree,
Walker<N> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkPreOrder(T tree,
TreeWalker<N> walker) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactoryImpl.walkPreOrder(T tree,
Walker<N> walker) |
Modifier and Type | Method and Description |
---|---|
<E,N extends OpenNode<E,N>> |
TreeIteratorFactoryImpl.breadthFirstElementsIterator(Tree<E,N> tree) |
<E,N extends OpenNode<E,N>> |
TreeIteratorFactoryImpl.inOrderElementsIterator(Tree<E,N> tree) |
<E,N extends OpenNode<E,N>> |
TreeIteratorFactoryImpl.postOrderElementsIterator(Tree<E,N> tree) |
<E,N extends OpenNode<E,N>> |
TreeIteratorFactoryImpl.preOrderElementsIterator(Tree<E,N> tree) |
Modifier and Type | Method and Description |
---|---|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
EmptySortedTreeConstructorSupplier.get(Class<T> klass) |
Modifier and Type | Method and Description |
---|---|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
EmptyTreeConstructorSupplier.get(Class<T> klass) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeConverterSupplier.get(Class<T> klass) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeConstructorSupplier.get(Class<T> klass) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
EmptySortedTreeConstructorSupplierImpl.get(Class<T> klass) |
<E,N extends OpenNode<E,? extends N>,T extends Tree<E,? extends N>> |
NodeToRelatedTreeConverterSupplier.get(N node) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
IteratorRemoveHandlerSupplier.get(T tree) |
Modifier and Type | Class and Description |
---|---|
class |
LinkedTree<E>
A simple tree implementation.
|
Modifier and Type | Method and Description |
---|---|
Class<? extends Tree> |
Constructor.forClass() |
Class<? extends Tree> |
EmptyConstructor.forClass() |
Class<? extends Tree> |
Implementation.forClass() |
Class<? extends Tree> |
Converter.forClass() |
Modifier and Type | Method and Description |
---|---|
<S extends OpenNode<E,S>> |
Converter.build(Tree<E,S> sourceTree) |
Modifier and Type | Interface and Description |
---|---|
interface |
MutableTree<E,N extends OpenMutableNode<E,N>>
Represents a mutable tree.
|
Modifier and Type | Class and Description |
---|---|
class |
MutableTreeImpl<E>
Initial attempt at thread safety is base on copy on mutation.
|
Modifier and Type | Method and Description |
---|---|
Class<? extends Tree> |
Constructor.forClass() |
Class<? extends Tree> |
EmptyConstructor.forClass() |
Class<? extends Tree> |
Implementation.forClass() |
Class<? extends Tree> |
Converter.forClass() |
Modifier and Type | Method and Description |
---|---|
<S extends OpenNode<E,S>> |
Converter.build(Tree<E,S> sourceTree) |
Modifier and Type | Interface and Description |
---|---|
interface |
OrganisedTreeBuilder<E,N extends OpenNode<E,N>,T extends Tree<E,N>>
Builder used to create trees that determine the placement of their own elements.
|
Modifier and Type | Interface and Description |
---|---|
interface |
MutableOrganisedTree<E,N extends OpenNode<E,N>>
A tree that determines the placement of its elements.
|
Modifier and Type | Class and Description |
---|---|
class |
PathCopyTree<E>
Path copy tree that uses node holders.
|
Modifier and Type | Method and Description |
---|---|
Class<? extends Tree> |
Constructor.forClass() |
Class<? extends Tree> |
EmptyConstructor.forClass() |
Class<? extends Tree> |
Implementation.forClass() |
Class<? extends Tree> |
Converter.forClass() |
Modifier and Type | Method and Description |
---|---|
<S extends OpenNode<E,S>> |
Converter.build(Tree<E,S> sourceTree) |
Modifier and Type | Method and Description |
---|---|
default <E,N extends OpenNode<E,N>> |
Querier.height(Tree<E,N> tree)
Find the height of the root node of a tree.
|
default <E,N extends OpenBinaryTreeNode<E,N>> |
Querier.isBalanced(Tree<E,N> tree)
Test if the trees is balanced.
|
default <E,N extends OpenBinaryTreeNode<E,N>> |
Querier.isPerfectlyBalanced(Tree<E,N> tree)
Test if the trees is perfectly balanced.
|
default <E,N extends OpenNode<E,N>,R> |
Querier.partialReduce(Tree<E,N> tree,
BiFunction<N,Collection<R>,ReductionResult<R>> reducer)
Reduce the subtree starting at a node.
|
default <E,N extends OpenNode<E,N>> |
Querier.pathsToLeaves(Tree<E,N> tree)
Find all the paths to leaf nodes from the root node of the tree.
|
default <E,N extends OpenNode<E,N>,R> |
Querier.reduce(Tree<E,N> tree,
BiFunction<N,Collection<R>,R> reducer)
Reduce the subtree starting at a node.
|
Modifier and Type | Method and Description |
---|---|
<N extends OpenNode<E,? extends N>,T extends Tree<E,? extends N>> |
TreeSelector.select(T tree) |
<N extends OpenNode<E,? extends N>,T extends Tree<E,? extends N>,O extends OpenNode<E,O>,U extends Tree<E,O>> |
TreeSelector.select(T tree,
Class<U> newTreeType) |
<N extends OpenNode<E,? extends N>,T extends Tree<E,? extends N>,O extends OpenNode<E,O>,U extends Tree<E,O>> |
TreeSelector.select(T tree,
Class<U> newTreeType) |
Modifier and Type | Method and Description |
---|---|
<N extends OpenNode<E,? extends N>> |
NodeSelector.select(Tree<E,? extends N> tree) |
Modifier and Type | Method and Description |
---|---|
<N extends OpenNode<E,? extends N>> |
NextNodeSelector.select(Tree<E,? extends N> tree) |
<N extends OpenNode<E,? extends N>> |
ExtendingNodeSelector.select(Tree<E,? extends N> tree) |
<N extends OpenNode<E,? extends N>> |
RootMatcherSelector.select(Tree<E,? extends N> tree) |
<N extends OpenNode<E,? extends N>> |
SelectorNodeSelector.select(Tree<E,? extends N> tree) |
Modifier and Type | Interface and Description |
---|---|
interface |
SortingTree<E,N extends OpenNode<E,N>>
A mutable, organised tree that sorts the elements passed to it.
|
Modifier and Type | Class and Description |
---|---|
class |
DefaultRemovalHandler<E,N extends OpenNode<E,N>,T extends Tree<E,N>>
Default handler for removal operations through an iterator.
|
interface |
EmptySortedTreeConstructor<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
interface |
EmptyTreeConstructor<E,N extends OpenNode<E,N>,T extends Tree<E,N>>
Used to create empty trees.
|
interface |
IteratorRemoveHandler<E,N extends OpenNode<E,N>,T extends Tree<E,N>>
Handle the removal of a node through an iterator.
|
interface |
NodeToRelatedTreeConverter<E,N extends OpenNode<E,? extends N>,T extends Tree<E,? extends N>>
Takes a node and creates a subtree with the node as the root.
|
interface |
TreeConstructor<E,N extends OpenNode<E,? extends N>,T extends Tree<E,? extends N>>
Used to create trees from the bottom up.
|
interface |
TreeConverter<E,N extends OpenNode<E,N>,T extends Tree<E,N>>
Converts a tree of one type to another.
|
Modifier and Type | Method and Description |
---|---|
Class<? extends Tree> |
TreeKeyedSPIComponent.forClass() |
Modifier and Type | Method and Description |
---|---|
T |
TreeConstructor.build(E e,
T... subtrees) |
<S extends OpenNode<E,S>> |
TreeConverter.build(Tree<E,S> sourceTree) |
ParentReference<O> |
ParentReferenceFactory.wrap(Tree<E,O> tree)
Wrap a tree as a parent reference.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractNodeToRelatedTreeConverter<E,N extends OpenNode<E,N>,T extends Tree<E,N>>
Abstract implementation for converting a node to a tree by copying the subtree.
|
Modifier and Type | Method and Description |
---|---|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeIteratorFactory.breadthFirstIterator(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
NodeStreamFactory.breadthFirstStream(T tree)
Create a stream of nodes from a tree.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeIteratorFactory.inOrderIterator(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
NodeStreamFactory.inOrderStream(T tree)
Create a stream of nodes from a tree.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeIteratorFactory.postOrderIterator(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
NodeStreamFactory.postOrderStream(T tree)
Create a stream of nodes from a tree.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeIteratorFactory.preOrderIterator(T tree) |
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
NodeStreamFactory.preOrderStream(T tree)
Create a stream of nodes from a tree.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkBreadthFirst(T tree,
Walker<N> walker)
Traverse the tree in breadth first order.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkElementsBreadthFirst(T tree,
Walker<E> walker)
Traverse the tree elements in breadth first order.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkElementsInOrder(T tree,
Walker<E> walker)
Traverse the tree elements in order.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkElementsPostOrder(T tree,
Walker<E> walker)
Traverse the tree elements in post order.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkElementsPreOrder(T tree,
TreeWalker<E> walker)
Traverse the tree elements in preorder.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkElementsPreOrder(T tree,
Walker<E> walker)
Traverse the tree elements in preorder.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkInOrder(T tree,
Walker<N> walker)
Traverse the tree in order.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkPostOrder(T tree,
Walker<N> walker)
Traverse the tree in post order.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkPreOrder(T tree,
TreeWalker<N> walker)
Traverse the tree in preorder.
|
<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
TreeWalkerFactory.walkPreOrder(T tree,
Walker<N> walker)
Traverse the tree in preorder.
|
Modifier and Type | Method and Description |
---|---|
<E,N extends OpenNode<E,N>> |
TreeIteratorFactory.breadthFirstElementsIterator(Tree<E,N> tree) |
<E,N extends OpenNode<E,N>> |
TreeIteratorFactory.inOrderElementsIterator(Tree<E,N> tree) |
<E,N extends OpenNode<E,N>> |
TreeIteratorFactory.postOrderElementsIterator(Tree<E,N> tree) |
<E,N extends OpenNode<E,N>> |
TreeIteratorFactory.preOrderElementsIterator(Tree<E,N> tree) |
Modifier and Type | Class and Description |
---|---|
class |
BreadthFirstIterator<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
class |
InOrderIterator<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
class |
PostOrderIterator<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
class |
PreOrderIterator<E,N extends OpenNode<E,N>,T extends Tree<E,N>> |
class |
RemoveHandlerIterator<E,N extends OpenNode<E,N>,T extends Tree<E,N>>
Iterator that provides support for removing elements from trees.
|
Modifier and Type | Method and Description |
---|---|
static <E,N extends OpenNode<E,N>> |
Tree.typeKey()
Construct a TypeKey for a specific element type.
|
Modifier and Type | Method and Description |
---|---|
<E,N extends OpenNode<E,N>> |
PreOrderTreeTraversalDriver.traverseTree(Tree<E,N> tree,
TreeWalker<N> walker) |
<E,N extends OpenNode<E,N>> |
TraversalDriver.traverseTree(Tree<E,N> tree,
Walker<N> walker)
Traverse the tree.
|
<E,N extends OpenNode<E,N>> |
PostOrderWalkerDriver.traverseTree(Tree<E,N> tree,
Walker<N> walker) |
<E,N extends OpenNode<E,N>> |
PreOrderTraversalDriver.traverseTree(Tree<E,N> tree,
Walker<N> walker) |
<E,N extends OpenNode<E,N>> |
InOrderTraversalDriver.traverseTree(Tree<E,N> tree,
Walker<N> walker) |
<E,N extends OpenNode<E,N>> |
BreadthFirstTraversalDriver.traverseTree(Tree<E,N> tree,
Walker<N> walker) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractTreeWrapper<E,N extends OpenNode<E,? extends N>>
Abstract implementation of a tree wrapper.
|
class |
SimpleTreeWrapper<E,N extends OpenNode<E,? extends N>>
Simple implementation of a tree wrapper.
|
Copyright © 2014–2016. All rights reserved.