From 32b1b46fcc855fffe6b0dddd10442a9a4f1544d2 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Wed, 30 Mar 2016 11:18:18 -0400 Subject: Moved interface back to the package it belongs in --- .../main/java/bjc/utils/funcdata/ITreePart.java | 120 --------------------- .../bjc/utils/funcdata/bst/BinarySearchTree.java | 3 +- .../utils/funcdata/bst/BinarySearchTreeLeaf.java | 2 - .../utils/funcdata/bst/BinarySearchTreeNode.java | 2 - .../java/bjc/utils/funcdata/bst/ITreePart.java | 118 ++++++++++++++++++++ 5 files changed, 119 insertions(+), 126 deletions(-) delete mode 100644 BJC-Utils2/src/main/java/bjc/utils/funcdata/ITreePart.java create mode 100644 BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/ITreePart.java (limited to 'BJC-Utils2/src/main/java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/ITreePart.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/ITreePart.java deleted file mode 100644 index 7d8b6b0..0000000 --- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/ITreePart.java +++ /dev/null @@ -1,120 +0,0 @@ -package bjc.utils.funcdata; - -import java.util.Comparator; -import java.util.function.BiFunction; -import java.util.function.Function; -import java.util.function.Predicate; - -import bjc.utils.funcdata.bst.DirectedWalkFunction; - -/** - * A interface for the fundamental things that want to be part of a tree. - * - * @author ben - * - * @param - * The data contained in this part of the tree. - */ -public interface ITreePart { - /** - * 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. - */ - public void add(T dat, Comparator comp); - - /** - * Collapses this tree part into a single value. Does not change the - * underlying tree. - * - * @param - * The type of the final collapsed value - * - * @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. - */ - public E collapse(Function f, BiFunction 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. - */ - public boolean contains(T data, Comparator cmp); - - /** - * Get the data associated with this tree part. - * - * @return The data associated with this tree part. - */ - public 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. - */ - public void delete(T dat, Comparator 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. - */ - public boolean directedWalk(DirectedWalkFunction 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 - */ - public boolean forEach(TreeLinearizationMethod tlm, Predicate c); -} diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTree.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTree.java index 0bd0119..2785626 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTree.java +++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTree.java @@ -6,8 +6,7 @@ import java.util.List; import java.util.function.Predicate; import bjc.utils.funcdata.FunctionalList; -import bjc.utils.funcdata.ITreePart; -import bjc.utils.funcdata.ITreePart.TreeLinearizationMethod; +import bjc.utils.funcdata.bst.ITreePart.TreeLinearizationMethod; /** * A binary search tree, with some mild support for functional traversal. diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java index 9befd17..370e70c 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java +++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java @@ -5,8 +5,6 @@ import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Predicate; -import bjc.utils.funcdata.ITreePart; - /** * A leaf in a tree. * diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeNode.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeNode.java index 0ab1769..b51a9eb 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeNode.java +++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeNode.java @@ -7,8 +7,6 @@ import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Predicate; -import bjc.utils.funcdata.ITreePart; - /** * A binary node in a tree. * diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/ITreePart.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/ITreePart.java new file mode 100644 index 0000000..6ed9fa8 --- /dev/null +++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/ITreePart.java @@ -0,0 +1,118 @@ +package bjc.utils.funcdata.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 + * The data contained in this part of the tree. + */ +public interface ITreePart { + /** + * 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. + */ + public void add(T dat, Comparator comp); + + /** + * Collapses this tree part into a single value. Does not change the + * underlying tree. + * + * @param + * The type of the final collapsed value + * + * @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. + */ + public E collapse(Function f, BiFunction 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. + */ + public boolean contains(T data, Comparator cmp); + + /** + * Get the data associated with this tree part. + * + * @return The data associated with this tree part. + */ + public 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. + */ + public void delete(T dat, Comparator 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. + */ + public boolean directedWalk(DirectedWalkFunction 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 + */ + public boolean forEach(TreeLinearizationMethod tlm, Predicate c); +} -- cgit v1.2.3