Loading src/edu/bu/ec504/hw2/BST.java +5 −4 Original line number Original line Diff line number Diff line Loading @@ -21,15 +21,15 @@ public class BST<keyType extends Comparable<keyType> > { * - if the search failed, this contains the last node before falling * - if the search failed, this contains the last node before falling * off the tree during the search. Otherwise, it is null. * off the tree during the search. Otherwise, it is null. */ */ searchRecord(Boolean theSearchResult, Integer theSearchCount, BST theLastSeen) { searchRecord(Boolean theSearchResult, Integer theSearchCount, BST<keyType> theLastSeen) { searchResult=theSearchResult; searchResult=theSearchResult; searchCount=theSearchCount; searchCount=theSearchCount; this.lastSeen =theLastSeen; this.lastSeen =theLastSeen; } } final Boolean searchResult; // true iff the search was successful final Boolean searchResult; // true iff the search was successful public Integer searchCount=0; // the number of nodes visited in the search public Integer searchCount; // the number of nodes visited in the search final BST lastSeen; final BST<keyType> lastSeen; } } // CONSTRUCTORS // CONSTRUCTORS Loading Loading @@ -104,6 +104,7 @@ public class BST<keyType extends Comparable<keyType> > { else else tmpRecord = leftChild.searchHelper(searchKey); tmpRecord = leftChild.searchHelper(searchKey); assert tmpRecord != null; // tmpRecord should never be null here, if insertion is properly implemented. tmpRecord.searchCount++; // for this node tmpRecord.searchCount++; // for this node return tmpRecord; return tmpRecord; } } Loading src/edu/bu/ec504/hw2/Main.java +5 −5 Original line number Original line Diff line number Diff line Loading @@ -11,13 +11,13 @@ class Main { BST<Integer> intTest = new BST<>(intElements); BST<Integer> intTest = new BST<>(intElements); BST<String> strTest = new BST<>(strElements); BST<String> strTest = new BST<>(strElements); BST.searchRecord result; BST<Integer>.searchRecord intResult; System.out.println("Your int BST is:\n"+intTest); System.out.println("Your int BST is:\n"+intTest); System.out.println("... rightChild subtree:\n"+intTest.getRightChild()); System.out.println("... rightChild subtree:\n"+intTest.getRightChild()); result = intTest.contains(0); intResult = intTest.contains(0); System.out.println("... 0 is in your BST? " + result.searchResult+" in "+result.searchCount+" steps;\n "+result.lastSeen); System.out.println("... 0 is in your BST? " + intResult.searchResult+" in "+intResult.searchCount+" steps;\n "+intResult.lastSeen); result = intTest.contains(6); intResult = intTest.contains(6); System.out.println("... 6 is in your BST? " + result.searchResult+" in "+result.searchCount+" steps;\n "+result.lastSeen); System.out.println("... 6 is in your BST? " + intResult.searchResult+" in "+intResult.searchCount+" steps;\n "+intResult.lastSeen); System.out.println("Your string BST is:\n"+strTest); System.out.println("Your string BST is:\n"+strTest); System.out.println("One rotation: "+new BstRotation(3, BstRotation.RotationType.ZAG)); System.out.println("One rotation: "+new BstRotation(3, BstRotation.RotationType.ZAG)); Loading Loading
src/edu/bu/ec504/hw2/BST.java +5 −4 Original line number Original line Diff line number Diff line Loading @@ -21,15 +21,15 @@ public class BST<keyType extends Comparable<keyType> > { * - if the search failed, this contains the last node before falling * - if the search failed, this contains the last node before falling * off the tree during the search. Otherwise, it is null. * off the tree during the search. Otherwise, it is null. */ */ searchRecord(Boolean theSearchResult, Integer theSearchCount, BST theLastSeen) { searchRecord(Boolean theSearchResult, Integer theSearchCount, BST<keyType> theLastSeen) { searchResult=theSearchResult; searchResult=theSearchResult; searchCount=theSearchCount; searchCount=theSearchCount; this.lastSeen =theLastSeen; this.lastSeen =theLastSeen; } } final Boolean searchResult; // true iff the search was successful final Boolean searchResult; // true iff the search was successful public Integer searchCount=0; // the number of nodes visited in the search public Integer searchCount; // the number of nodes visited in the search final BST lastSeen; final BST<keyType> lastSeen; } } // CONSTRUCTORS // CONSTRUCTORS Loading Loading @@ -104,6 +104,7 @@ public class BST<keyType extends Comparable<keyType> > { else else tmpRecord = leftChild.searchHelper(searchKey); tmpRecord = leftChild.searchHelper(searchKey); assert tmpRecord != null; // tmpRecord should never be null here, if insertion is properly implemented. tmpRecord.searchCount++; // for this node tmpRecord.searchCount++; // for this node return tmpRecord; return tmpRecord; } } Loading
src/edu/bu/ec504/hw2/Main.java +5 −5 Original line number Original line Diff line number Diff line Loading @@ -11,13 +11,13 @@ class Main { BST<Integer> intTest = new BST<>(intElements); BST<Integer> intTest = new BST<>(intElements); BST<String> strTest = new BST<>(strElements); BST<String> strTest = new BST<>(strElements); BST.searchRecord result; BST<Integer>.searchRecord intResult; System.out.println("Your int BST is:\n"+intTest); System.out.println("Your int BST is:\n"+intTest); System.out.println("... rightChild subtree:\n"+intTest.getRightChild()); System.out.println("... rightChild subtree:\n"+intTest.getRightChild()); result = intTest.contains(0); intResult = intTest.contains(0); System.out.println("... 0 is in your BST? " + result.searchResult+" in "+result.searchCount+" steps;\n "+result.lastSeen); System.out.println("... 0 is in your BST? " + intResult.searchResult+" in "+intResult.searchCount+" steps;\n "+intResult.lastSeen); result = intTest.contains(6); intResult = intTest.contains(6); System.out.println("... 6 is in your BST? " + result.searchResult+" in "+result.searchCount+" steps;\n "+result.lastSeen); System.out.println("... 6 is in your BST? " + intResult.searchResult+" in "+intResult.searchCount+" steps;\n "+intResult.lastSeen); System.out.println("Your string BST is:\n"+strTest); System.out.println("Your string BST is:\n"+strTest); System.out.println("One rotation: "+new BstRotation(3, BstRotation.RotationType.ZAG)); System.out.println("One rotation: "+new BstRotation(3, BstRotation.RotationType.ZAG)); Loading