|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--structure.AbstractStructure
|
+--structure.BinarySearchTree
A binary search tree structure. This structure maintains data in an ordered tree. It does not keep the tree balanced, so performance may degrade if the tree height is not optimal.
Example usage:
To create a Binary search tree containing the months of the year and to print out this tree as it grows we could use the following.
public static void main(String[] argv){
BinarySearchTree test = new BinarySearchTree();
//declare an array of months
String[] months = new String[]{"March", "May", "November", "August",
"April", "January", "December", "July",
"February", "June", "October", "September"};
//add the months to the tree and print out the tree as it grows
for(int i=0; i < months.length; i++){
test.add(months[i]);
System.out.println("Adding: " + months[i] + "\n" +test.treeString());
}
}
SplayTree,
BinaryTree| Field Summary | |
protected int |
count
The number of nodes in the tree |
protected java.util.Comparator |
ordering
The ordering used on this search tree. |
protected BinaryTree |
root
A reference to the root of the tree |
| Constructor Summary | |
BinarySearchTree()
Constructs a binary search tree with no data |
|
BinarySearchTree(java.util.Comparator alternateOrder)
Constructs a binary search tree with no data |
|
| Method Summary | |
void |
add(java.lang.Object value)
Add a (possibly duplicate) value to binary search tree |
void |
clear()
Removes all data from the binary search tree |
boolean |
contains(java.lang.Object value)
Determines if the binary search tree contains a value |
java.lang.Object |
get(java.lang.Object value)
Returns reference to value found within three. |
int |
hashCode()
Returns the hashCode of the value stored by this object. |
boolean |
isEmpty()
Checks for an empty binary search tree |
java.util.Iterator |
iterator()
Returns an iterator over the binary search tree. |
protected BinaryTree |
locate(BinaryTree root,
java.lang.Object value)
|
protected BinaryTree |
predecessor(BinaryTree root)
|
java.lang.Object |
remove(java.lang.Object value)
Remove an value "equals to" the indicated value. |
protected BinaryTree |
removeTop(BinaryTree topNode)
Removes the top node of the tree rooted, performs the necissary rotations to reconnect the tree. |
int |
size()
Determines the number of data values within the tree |
protected BinaryTree |
successor(BinaryTree root)
|
java.lang.String |
toString()
Returns a string representing tree |
java.lang.String |
treeString()
Returns a (possibly long) string representing tree. |
| Methods inherited from class structure.AbstractStructure |
elements, values |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface structure.Structure |
elements, values |
| Field Detail |
protected BinaryTree root
protected int count
protected java.util.Comparator ordering
| Constructor Detail |
public BinarySearchTree()
public BinarySearchTree(java.util.Comparator alternateOrder)
| Method Detail |
public boolean isEmpty()
isEmpty in interface StructureisEmpty in class AbstractStructurepublic void clear()
clear in interface Structurepublic int size()
size in interface Structure
protected BinaryTree locate(BinaryTree root,
java.lang.Object value)
protected BinaryTree predecessor(BinaryTree root)
protected BinaryTree successor(BinaryTree root)
public void add(java.lang.Object value)
add in interface Structurevalue - the value to be added to the structure; non-nullpublic boolean contains(java.lang.Object value)
contains in interface Structurecontains in class AbstractStructurevalue - non-null value to be found within structure
public java.lang.Object get(java.lang.Object value)
public java.lang.Object remove(java.lang.Object value)
remove in interface Structurevalue - value matching the value to be removed
protected BinaryTree removeTop(BinaryTree topNode)
topNode - Contains the value we want to remove
public java.util.Iterator iterator()
iterator in interface StructureAbstractIterator,
Iterator,
Enumeration,
Structure.elements()public int hashCode()
hashCode in class AbstractStructurepublic java.lang.String treeString()
toString() in that toString() outputs
a single line representation of the contents of the tree.
treeString, however, prints out a graphical
representations of the tree's structure.
public java.lang.String toString()
toString in class java.lang.Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||