diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2015-09-29 16:24:37 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2015-09-29 16:24:37 -0400 |
| commit | ba7711b8546e08fa6376a85271d2ca1c34cc902b (patch) | |
| tree | a04b8283c828eb49c978955ccef7c4cab3fe9754 /BJC-Utils2/src/main/java/bjc/utils/data/bst/ITreePart.java | |
| parent | b964a4b44cd2c24083db8e1cccfd6de22e440861 (diff) | |
Moved around tree stuff.
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/bst/ITreePart.java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/data/bst/ITreePart.java | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/bst/ITreePart.java b/BJC-Utils2/src/main/java/bjc/utils/data/bst/ITreePart.java deleted file mode 100644 index 5667ce1..0000000 --- a/BJC-Utils2/src/main/java/bjc/utils/data/bst/ITreePart.java +++ /dev/null @@ -1,81 +0,0 @@ -package bjc.utils.data.bst; - -import java.util.Comparator; -import java.util.function.BiFunction; -import java.util.function.Function; -import java.util.function.Predicate; - -/** - * A interface for the fundamental things that want to be part of a tree. - * @author ben - * - * @param <T> The data contained in this part of the tree. - */ -public interface ITreePart<T> { - /** - * Represents the ways to linearize a tree for traversal. - * @author ben - * - */ - public enum TreeLinearizationMethod { - /** - * Visit the left side of this tree part, the tree part itself, and then the right part. - */ - INORDER, - /** - * Visit the left side of this tree part, the right side, and then the tree part itself. - */ - POSTORDER, - /** - * Visit the tree part itself, then the left side of tthis tree part and then the right part. - */ - PREORDER - } - - /** - * Add a element below this tree part somewhere. - * @param dat The element to add below this tree part - * @param comp The thing to use for comparing values to find where to insert the tree part. - */ - void add(T dat, Comparator<T> comp); - /** - * Collapses this tree part into a single value. - * Does not change the underlying tree. - * @param f The function to use to transform data into mapped form. - * @param bf The function to use to collapse data in mapped form into a single value. - * @return A single value from collapsing the tree. - */ - <E> E collapse(Function<T, E> f, BiFunction<E, E, E> bf); - /** - * Check if this tre part or below it contains the specified data item - * @param data The data item to look for. - * @param cmp The comparator to use to search for the data item - * @return Whether or not the given item is contained in this tree part or its children. - */ - boolean contains(T data, Comparator<T> cmp); - /** - * Get the data associated with this tree part. - * @return The data associated with this tree part. - */ - T data(); - /** - * Remove the given node from this tree part and any of its children. - * @param dat The data item to remove. - * @param cmp The comparator to use to search for the data item. - */ - void delete(T dat, Comparator<T> cmp); - /** - * Execute a directed walk through the tree. - * @param ds The function to use to direct the walk through the tree. - * @return Whether the directed walk finished successfully. - */ - boolean directedWalk(DirectedWalkFunction<T> ds); - /** - * Execute a provided function for each element of tree it succesfully completes for - * @param tlm The way to linearize the tree for executing - * @param c The function to apply to each element, where it returning false - * terminates traversal early - * @return Whether the traversal finished succesfully - */ - boolean forEach(TreeLinearizationMethod tlm, Predicate<T> c); -} |
