made several methods recursive, made independent of AbstractBinaryTree,

made the thing work!
This commit is contained in:
gabe venberg 2021-04-27 02:15:46 -05:00
parent dd9c437269
commit b34a4b51aa
11 changed files with 428 additions and 527 deletions

View file

@ -27,7 +27,7 @@ public class Client {
//set up stuff needed for test.
final int BSTSize = 10;
final int BSTSize = 1000000;
long startTime;
long endTime;
String[][] data = new String[7][2];
@ -36,27 +36,34 @@ public class Client {
BinarySearchTree testTree = new BinarySearchTree();
startTime=System.nanoTime();
for(int i=0; i<BSTSize; i++){
System.out.println("test1,"+i);
testTree.insert(i);
}
data[0][1] = String.format("%,d", testTree.hight(testTree.root()));
System.out.println("test2");
data[0][1] = String.format("%,d", testTree.hight());
endTime=System.nanoTime();
data[0][0]=String.format("%,d", endTime-startTime);
testTree.inorderTraversal(testTree.root());
System.out.println();
testTree.preorderTraversal(testTree.root());
System.out.println();
testTree.postorderTraversal(testTree.root());
System.out.println();
//decending order test
testTree = new BinarySearchTree();
startTime=System.nanoTime();
for(int i=BSTSize-1; i>=0; i--){
System.out.println("test3,"+i);
testTree.insert(i);
}
data[1][1] = String.format("%,d", testTree.hight(testTree.root()));
System.out.println("test4,");
data[1][1] = String.format("%,d", testTree.hight());
endTime=System.nanoTime();
data[1][0]=String.format("%,d", endTime-startTime);
testTree.preorderTraversal(testTree.root());
System.out.println();
testTree.postorderTraversal(testTree.root());
System.out.println();
testTree.inorderTraversal(testTree.root());
System.out.println();
@ -73,15 +80,11 @@ public class Client {
startTime=System.nanoTime();
for(int j=0; j<uniqueNumbers.length; j++){
System.out.println("test5,"+i+","+j);
testTree.insert(uniqueNumbers[j]);
}
data[i+2][1]=String.format("%,d", testTree.hight(testTree.root()));
System.out.println("test6,"+i);
data[i+2][1]=String.format("%,d", testTree.hight());
endTime=System.nanoTime();
data[i+2][0]=String.format("%,d", endTime-startTime);
testTree.inorderTraversal(testTree.root());
System.out.println();
}
String[] colHeaders = {"Time taken", "Tree hight"};