From 0a8f34c27c6ef93c5c94d17728af62c7607e225f Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Thu, 3 Dec 2020 19:21:38 -0500 Subject: Rename types to match Java style This renames several interfaces that had names like IWhatever, since that isn't a style that Java uses --- .../java/bjc/funcdata/bst/BinarySearchTree.java | 10 +- .../bjc/funcdata/bst/BinarySearchTreeLeaf.java | 2 +- .../bjc/funcdata/bst/BinarySearchTreeNode.java | 8 +- src/main/java/bjc/funcdata/bst/ITreePart.java | 107 --------------------- src/main/java/bjc/funcdata/bst/TreePart.java | 107 +++++++++++++++++++++ 5 files changed, 117 insertions(+), 117 deletions(-) delete mode 100644 src/main/java/bjc/funcdata/bst/ITreePart.java create mode 100644 src/main/java/bjc/funcdata/bst/TreePart.java (limited to 'src/main/java/bjc/funcdata/bst') diff --git a/src/main/java/bjc/funcdata/bst/BinarySearchTree.java b/src/main/java/bjc/funcdata/bst/BinarySearchTree.java index 2c5b4d8..99b67cd 100644 --- a/src/main/java/bjc/funcdata/bst/BinarySearchTree.java +++ b/src/main/java/bjc/funcdata/bst/BinarySearchTree.java @@ -6,7 +6,7 @@ import java.util.List; import java.util.function.Predicate; import bjc.funcdata.FunctionalList; -import bjc.funcdata.IList; +import bjc.funcdata.ListEx; /** * A binary search tree, with some mild support for functional traversal. @@ -24,7 +24,7 @@ public class BinarySearchTree { private int elementCount; /* The root element of the tree */ - private ITreePart root; + private TreePart root; /** * Create a new tree using the specified way to compare elements. @@ -66,7 +66,7 @@ public class BinarySearchTree { * * @return Whether the adjusted pivot is with the list. */ - private boolean adjustedPivotInBounds(final IList elements, final int pivot, + private boolean adjustedPivotInBounds(final ListEx elements, final int pivot, final int pivotAdjustment) { return ((pivot - pivotAdjustment) >= 0) && ((pivot + pivotAdjustment) < elements.getSize()); @@ -78,7 +78,7 @@ public class BinarySearchTree { * Takes O(N) time, but also O(N) space. */ public void balance() { - final IList elements = new FunctionalList<>(); + final ListEx elements = new FunctionalList<>(); /* Add each element to the list in sorted order. */ root.forEach(TreeLinearizationMethod.INORDER, element -> elements.add(element)); @@ -135,7 +135,7 @@ public class BinarySearchTree { * * @return The root of the tree. */ - public ITreePart getRoot() { + public TreePart getRoot() { return root; } diff --git a/src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java b/src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java index 0b99cad..9532555 100644 --- a/src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java +++ b/src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java @@ -13,7 +13,7 @@ import java.util.function.Predicate; * @param * The data stored in the tree. */ -public class BinarySearchTreeLeaf implements ITreePart { +public class BinarySearchTreeLeaf implements TreePart { /** The data held in this tree leaf */ protected T data; diff --git a/src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java b/src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java index a73f81a..0eef92a 100644 --- a/src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java +++ b/src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java @@ -20,10 +20,10 @@ import java.util.function.Predicate; */ public class BinarySearchTreeNode extends BinarySearchTreeLeaf { /* The left child of this node */ - private ITreePart left; + private TreePart left; /* The right child of this node */ - private ITreePart right; + private TreePart right; /** * Create a new node with the specified data and children. @@ -37,8 +37,8 @@ public class BinarySearchTreeNode extends BinarySearchTreeLeaf { * @param rght * The right child of this node. */ - public BinarySearchTreeNode(final T element, final ITreePart lft, - final ITreePart rght) { + public BinarySearchTreeNode(final T element, final TreePart lft, + final TreePart rght) { super(element); this.left = lft; this.right = rght; diff --git a/src/main/java/bjc/funcdata/bst/ITreePart.java b/src/main/java/bjc/funcdata/bst/ITreePart.java deleted file mode 100644 index bac640d..0000000 --- a/src/main/java/bjc/funcdata/bst/ITreePart.java +++ /dev/null @@ -1,107 +0,0 @@ -package bjc.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 { - /** - * Add a element below this tree part somewhere. - * - * @param element - * The element to add below this tree part - * - * @param comparator - * The thing to use for comparing values to find where to - * insert the tree part. - */ - public void add(T element, Comparator comparator); - - /** - * Collapses this tree part into a single value. - * - * Does not change the underlying tree. - * - * @param - * The type of the final collapsed value - * - * @param nodeCollapser - * The function to use to transform data into mapped - * form. - * - * @param branchCollapser - * 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 nodeCollapser, - BiFunction branchCollapser); - - /** - * Check if this tre part or below it contains the specified data item. - * - * @param element - * The data item to look for. - * - * @param comparator - * 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 element, Comparator comparator); - - /** - * 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 element - * The data item to remove. - * - * @param comparator - * The comparator to use to search for the data item. - */ - public void delete(T element, Comparator comparator); - - /** - * Execute a directed walk through the tree. - * - * @param walker - * The function to use to direct the walk through the tree. - * - * @return Whether the directed walk finished successfully. - */ - public boolean directedWalk(DirectedWalkFunction walker); - - /** - * Execute a provided function for each element of tree it succesfully completes - * for. - * - * @param linearizationMethod - * The way to linearize the tree for executing. - * - * @param predicate - * The predicate to apply to each element, where it - * returning false terminates traversal early. - * - * @return Whether the traversal finished succesfully. - */ - public boolean forEach(TreeLinearizationMethod linearizationMethod, - Predicate predicate); -} diff --git a/src/main/java/bjc/funcdata/bst/TreePart.java b/src/main/java/bjc/funcdata/bst/TreePart.java new file mode 100644 index 0000000..b451463 --- /dev/null +++ b/src/main/java/bjc/funcdata/bst/TreePart.java @@ -0,0 +1,107 @@ +package bjc.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 TreePart { + /** + * Add a element below this tree part somewhere. + * + * @param element + * The element to add below this tree part + * + * @param comparator + * The thing to use for comparing values to find where to + * insert the tree part. + */ + public void add(T element, Comparator comparator); + + /** + * Collapses this tree part into a single value. + * + * Does not change the underlying tree. + * + * @param + * The type of the final collapsed value + * + * @param nodeCollapser + * The function to use to transform data into mapped + * form. + * + * @param branchCollapser + * 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 nodeCollapser, + BiFunction branchCollapser); + + /** + * Check if this tre part or below it contains the specified data item. + * + * @param element + * The data item to look for. + * + * @param comparator + * 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 element, Comparator comparator); + + /** + * 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 element + * The data item to remove. + * + * @param comparator + * The comparator to use to search for the data item. + */ + public void delete(T element, Comparator comparator); + + /** + * Execute a directed walk through the tree. + * + * @param walker + * The function to use to direct the walk through the tree. + * + * @return Whether the directed walk finished successfully. + */ + public boolean directedWalk(DirectedWalkFunction walker); + + /** + * Execute a provided function for each element of tree it succesfully completes + * for. + * + * @param linearizationMethod + * The way to linearize the tree for executing. + * + * @param predicate + * The predicate to apply to each element, where it + * returning false terminates traversal early. + * + * @return Whether the traversal finished succesfully. + */ + public boolean forEach(TreeLinearizationMethod linearizationMethod, + Predicate predicate); +} -- cgit v1.2.3