From 3fc3554899b453c193edc743f10e9a53db3242a5 Mon Sep 17 00:00:00 2001 From: Rushil Umaretiya <2023rumareti@tjhsst.edu> Date: Fri, 4 Dec 2020 22:00:49 -0500 Subject: [PATCH] initial commit --- 01 Strings/01 Modes/First Day Warm Up.doc | Bin 0 -> 25088 bytes 01 Strings/01 Modes/Modes.class | Bin 0 -> 2213 bytes 01 Strings/01 Modes/Modes.doc | Bin 0 -> 37376 bytes 01 Strings/01 Modes/Modes.java | 90 + 01 Strings/02 SmartCard/SmartCard.class | Bin 0 -> 2338 bytes 01 Strings/02 SmartCard/SmartCard.docx | Bin 0 -> 25896 bytes .../02 SmartCard/SmartCard_Driver.class | Bin 0 -> 1996 bytes 01 Strings/02 SmartCard/SmartCard_Driver.java | 197 + 01 Strings/02 SmartCard/Station.class | Bin 0 -> 1065 bytes .../02a StringMethods/FrodoStringDemo.doc | Bin 0 -> 32256 bytes .../02a StringMethods/StringMethods.class | Bin 0 -> 4959 bytes .../02a StringMethods/StringMethods.doc | Bin 0 -> 32768 bytes .../02a StringMethods/StringMethods.java | 152 + 01 Strings/03-04 PigLatin/LittleFrog.txt | 11 + .../03-04 PigLatin/LittleFrogBetter.txt | 12 + .../03-04 PigLatin/LittleFrogEvenBetter.txt | 11 + 01 Strings/03-04 PigLatin/LittleFrogOut.txt | 11 + 01 Strings/03-04 PigLatin/PigLatin.class | Bin 0 -> 6138 bytes 01 Strings/03-04 PigLatin/PigLatin.docx | Bin 0 -> 24861 bytes 01 Strings/03-04 PigLatin/PigLatin.java | 281 + 01 Strings/03-04 PigLatin/PigLatin.txt | 25 + 01 Strings/03-04 PigLatin/PigLatinOUt.txt | 26 + .../Scanner and PrintWriter Classes.docx | Bin 0 -> 18743 bytes .../03-04 PigLatin/ScannerPractice.class | Bin 0 -> 1528 bytes .../03-04 PigLatin/ScannerPractice.java | 21 + 01 Strings/03-04 PigLatin/declaration.txt | 63 + 01 Strings/03-04 PigLatin/out.txt | 0 01 Strings/03-04 PigLatin/outt.txt | 0 01 Strings/03-04 PigLatin/results.txt | 1 + 01 Strings/03-04 PigLatin/testing.txt | 5 + 01 Strings/05 Sentence/Sentence.class | Bin 0 -> 2561 bytes 01 Strings/05 Sentence/Sentence.doc | Bin 0 -> 39936 bytes 01 Strings/05 Sentence/Sentence_Driver.class | Bin 0 -> 1371 bytes 01 Strings/05 Sentence/Sentence_Driver.java | 178 + 01 Strings/06 LogMessage/Log Message.doc | Bin 0 -> 55808 bytes 01 Strings/06 LogMessage/LogMessage.class | Bin 0 -> 1627 bytes 01 Strings/06 LogMessage/LogMessageTest.class | Bin 0 -> 1889 bytes 01 Strings/06 LogMessage/LogMessageTest.java | 184 + 01 Strings/06 LogMessage/SystemLog.class | Bin 0 -> 1280 bytes 01 Strings/07 Cemetery/Cemetery$1.class | Bin 0 -> 532 bytes .../07 Cemetery/Cemetery$searchGUI$1.class | Bin 0 -> 1214 bytes .../07 Cemetery/Cemetery$searchGUI$2.class | Bin 0 -> 1212 bytes .../07 Cemetery/Cemetery$searchGUI$3.class | Bin 0 -> 1228 bytes .../07 Cemetery/Cemetery$searchGUI$4.class | Bin 0 -> 1200 bytes .../07 Cemetery/Cemetery$searchGUI.class | Bin 0 -> 5260 bytes 01 Strings/07 Cemetery/Cemetery.class | Bin 0 -> 6300 bytes 01 Strings/07 Cemetery/Cemetery.docx | Bin 0 -> 101841 bytes 01 Strings/07 Cemetery/Cemetery.java | 534 + 01 Strings/07 Cemetery/Person.class | Bin 0 -> 2349 bytes 01 Strings/07 Cemetery/cemetery.txt | 612 + 01 Strings/07 Cemetery/cemetery_orig.txt | 616 + 01 Strings/07 Cemetery/cemetery_short.txt | 8 + 01 Strings/08a StringCoder/String Coder.doc | Bin 0 -> 44032 bytes 01 Strings/08a StringCoder/StringCoder.class | Bin 0 -> 2205 bytes .../08a StringCoder/StringCoderDriver.class | Bin 0 -> 1964 bytes .../08a StringCoder/StringCoderDriver.java | 176 + 01 Strings/08a StringCoder/StringPart.class | Bin 0 -> 1060 bytes 01 Strings/DS_Sept.pub | Bin 0 -> 263680 bytes .../Additional Labs for Fast Finishers.doc | Bin 0 -> 49152 bytes .../10_Recursion Dangers.pptx | Bin 0 -> 112248 bytes .../11_Recur_dot_java 1.pptx | Bin 0 -> 95162 bytes .../12_Recur_dot_java 2.pptx | Bin 0 -> 88264 bytes .../Oberle PowerPoint/9_Recursion.pptx | Bin 0 -> 156510 bytes .../Recursion Exercises.docx | Bin 0 -> 42805 bytes .../00 Recursion Intro/Recursion Notes.doc | Bin 0 -> 51712 bytes .../01 Permutations/Permutations.class | Bin 0 -> 2606 bytes .../01 Permutations/Permutations.docx | Bin 0 -> 20835 bytes .../01 Permutations/Permutations.java | 108 + .../Fibonacci - Recursion v Iteration.docx | Bin 0 -> 438170 bytes .../02 Fibonacci/Fibonacci Talking Points.doc | Bin 0 -> 31232 bytes 02 Recursion/02 Fibonacci/Fibonacci.class | Bin 0 -> 1643 bytes 02 Recursion/02 Fibonacci/Fibonacci.java | 56 + 02 Recursion/03 Hailstone/Hailstone.class | Bin 0 -> 1671 bytes 02 Recursion/03 Hailstone/Hailstone.java | 82 + 02 Recursion/04 AreaFill/AreaFill.class | Bin 0 -> 3483 bytes 02 Recursion/04 AreaFill/AreaFill.doc | Bin 0 -> 36352 bytes 02 Recursion/04 AreaFill/AreaFill.java | 150 + 02 Recursion/04 AreaFill/area1.txt | 16 + 02 Recursion/04 AreaFill/area2.txt | 10 + 02 Recursion/04 AreaFill/area3.txt | 6 + 02 Recursion/04 AreaFill/area4.txt | 11 + .../05 ExpressionEvaluator/Evaluator.class | Bin 0 -> 2152 bytes .../Expression Evaluator.doc | Bin 0 -> 64512 bytes .../ExpressionEvaluator.class | Bin 0 -> 1473 bytes .../ExpressionEvaluator.java | 244 + .../ExpressionTokenizer.class | Bin 0 -> 1066 bytes 02 Recursion/06 NQueens/GoldCrown.gif | Bin 0 -> 64630 bytes 02 Recursion/06 NQueens/LABS.CSS | 97 + 02 Recursion/06 NQueens/NQueens.class | Bin 0 -> 2276 bytes 02 Recursion/06 NQueens/NQueens.java | 154 + 02 Recursion/06 NQueens/NQueensLab.class | Bin 0 -> 2229 bytes 02 Recursion/06 NQueens/NQueensLab.java | 80 + 02 Recursion/06 NQueens/NQueensLab.shtml | 132 + 02 Recursion/06 NQueens/NQueens_Lab.doc | Bin 0 -> 51200 bytes 02 Recursion/06 NQueens/Queen.class | Bin 0 -> 708 bytes 02 Recursion/06 NQueens/Queen.java | 48 + 02 Recursion/06 NQueens/README.txt | 7 + 02 Recursion/06 NQueens/SilverCrown.gif | Bin 0 -> 84466 bytes .../grid/ArrayListGrid$ArrayListGridRep.class | Bin 0 -> 2109 bytes .../edu/kzoo/grid/ArrayListGrid$Bounded.class | Bin 0 -> 1024 bytes .../kzoo/grid/ArrayListGrid$Unbounded.class | Bin 0 -> 898 bytes .../edu/kzoo/grid/ArrayListGrid.class | Bin 0 -> 518 bytes .../edu/kzoo/grid/ArrayListGrid.java | 363 + .../grid/BoundedGrid$Array2DGridRep.class | Bin 0 -> 2097 bytes .../edu/kzoo/grid/BoundedGrid.class | Bin 0 -> 846 bytes .../06 NQueens/edu/kzoo/grid/BoundedGrid.java | 275 + .../06 NQueens/edu/kzoo/grid/ColorBlock.class | Bin 0 -> 1244 bytes .../06 NQueens/edu/kzoo/grid/ColorBlock.java | 68 + .../06 NQueens/edu/kzoo/grid/Direction.class | Bin 0 -> 3365 bytes .../06 NQueens/edu/kzoo/grid/Direction.java | 243 + .../Grid$BoundedGridValidityChecker.class | Bin 0 -> 836 bytes .../grid/Grid$InternalRepresentation.class | Bin 0 -> 471 bytes .../Grid$UnboundedGridValidityChecker.class | Bin 0 -> 598 bytes .../edu/kzoo/grid/Grid$ValidityChecker.class | Bin 0 -> 240 bytes .../06 NQueens/edu/kzoo/grid/Grid.class | Bin 0 -> 5962 bytes .../06 NQueens/edu/kzoo/grid/Grid.java | 505 + .../06 NQueens/edu/kzoo/grid/GridObject.class | Bin 0 -> 2550 bytes .../06 NQueens/edu/kzoo/grid/GridObject.java | 211 + .../06 NQueens/edu/kzoo/grid/Location.class | Bin 0 -> 1368 bytes .../06 NQueens/edu/kzoo/grid/Location.java | 121 + .../edu/kzoo/grid/PictureBlock.class | Bin 0 -> 1737 bytes .../edu/kzoo/grid/PictureBlock.java | 86 + .../06 NQueens/edu/kzoo/grid/TextCell.class | Bin 0 -> 1320 bytes .../06 NQueens/edu/kzoo/grid/TextCell.java | 95 + .../display/CheckeredBackgroundDisplay.class | Bin 0 -> 1687 bytes .../display/CheckeredBackgroundDisplay.java | 92 + .../kzoo/grid/display/ColorBlockDisplay.class | Bin 0 -> 2326 bytes .../kzoo/grid/display/ColorBlockDisplay.java | 76 + .../kzoo/grid/display/DefaultDisplay.class | Bin 0 -> 498 bytes .../edu/kzoo/grid/display/DefaultDisplay.java | 43 + .../grid/display/DefaultDisplayFactory.class | Bin 0 -> 2859 bytes .../grid/display/DefaultDisplayFactory.java | 162 + .../kzoo/grid/display/DisplayDecorator.class | Bin 0 -> 264 bytes .../kzoo/grid/display/DisplayDecorator.java | 37 + .../edu/kzoo/grid/display/DisplayMap.class | Bin 0 -> 2382 bytes .../edu/kzoo/grid/display/DisplayMap.java | 107 + .../grid/display/GridBackgroundDisplay.class | Bin 0 -> 197 bytes .../grid/display/GridBackgroundDisplay.java | 37 + .../edu/kzoo/grid/display/GridDisplay.class | Bin 0 -> 194 bytes .../edu/kzoo/grid/display/GridDisplay.java | 51 + .../kzoo/grid/display/GridObjectDisplay.class | Bin 0 -> 245 bytes .../kzoo/grid/display/GridObjectDisplay.java | 65 + .../grid/display/PictureBlockDisplay.class | Bin 0 -> 2291 bytes .../grid/display/PictureBlockDisplay.java | 82 + .../display/PseudoInfiniteViewport$1.class | Bin 0 -> 929 bytes .../PseudoInfiniteViewport$Pannable.class | Bin 0 -> 360 bytes .../grid/display/PseudoInfiniteViewport.class | Bin 0 -> 4226 bytes .../grid/display/PseudoInfiniteViewport.java | 184 + .../kzoo/grid/display/RotatedDecorator.class | Bin 0 -> 2719 bytes .../kzoo/grid/display/RotatedDecorator.java | 104 + .../edu/kzoo/grid/display/ScaledDisplay.class | Bin 0 -> 2146 bytes .../edu/kzoo/grid/display/ScaledDisplay.java | 124 + .../ScaledImageDisplay$TintFilter.class | Bin 0 -> 1297 bytes .../grid/display/ScaledImageDisplay.class | Bin 0 -> 4454 bytes .../kzoo/grid/display/ScaledImageDisplay.java | 204 + .../display/ScaledImageTintDecorator.class | Bin 0 -> 895 bytes .../display/ScaledImageTintDecorator.java | 47 + .../display/ScrollableGridDisplay$1.class | Bin 0 -> 910 bytes .../grid/display/ScrollableGridDisplay.class | Bin 0 -> 13098 bytes .../grid/display/ScrollableGridDisplay.java | 759 + .../grid/display/TextAndIconRenderer.class | Bin 0 -> 1718 bytes .../grid/display/TextAndIconRenderer.java | 87 + .../kzoo/grid/display/TextCellDisplay.class | Bin 0 -> 804 bytes .../kzoo/grid/display/TextCellDisplay.java | 62 + .../edu/kzoo/grid/display/TextDisplay.class | Bin 0 -> 4260 bytes .../edu/kzoo/grid/display/TextDisplay.java | 167 + .../grid/gui/ActiveGridAppController.class | Bin 0 -> 709 bytes .../grid/gui/ActiveGridAppController.java | 47 + .../kzoo/grid/gui/ColorChoiceDDMenu$1.class | Bin 0 -> 747 bytes .../gui/ColorChoiceDDMenu$ColorChoice.class | Bin 0 -> 1233 bytes .../gui/ColorChoiceDDMenu$ColorIcon.class | Bin 0 -> 1767 bytes .../edu/kzoo/grid/gui/ColorChoiceDDMenu.class | Bin 0 -> 4207 bytes .../edu/kzoo/grid/gui/ColorChoiceDDMenu.java | 261 + .../edu/kzoo/grid/gui/ControlButton$1.class | Bin 0 -> 719 bytes .../edu/kzoo/grid/gui/ControlButton.class | Bin 0 -> 1194 bytes .../edu/kzoo/grid/gui/ControlButton.java | 94 + .../kzoo/grid/gui/EnabledDisabledStates.class | Bin 0 -> 637 bytes .../kzoo/grid/gui/EnabledDisabledStates.java | 75 + .../kzoo/grid/gui/FileMenuActionHandler.class | Bin 0 -> 3713 bytes .../kzoo/grid/gui/FileMenuActionHandler.java | 227 + ...nList$GeneratedThreadedControlButton.class | Bin 0 -> 2074 bytes .../kzoo/grid/gui/GeneratedButtonList.class | Bin 0 -> 5240 bytes .../kzoo/grid/gui/GeneratedButtonList.java | 393 + .../edu/kzoo/grid/gui/GridAppFrame$1.class | Bin 0 -> 899 bytes .../GridAppFrame$DisplayMouseListener.class | Bin 0 -> 1288 bytes .../GridAppFrame$GUIExceptionHandler.class | Bin 0 -> 1076 bytes .../edu/kzoo/grid/gui/GridAppFrame.class | Bin 0 -> 11717 bytes .../edu/kzoo/grid/gui/GridAppFrame.java | 857 ++ .../kzoo/grid/gui/GridChangeListener.class | Bin 0 -> 186 bytes .../edu/kzoo/grid/gui/GridChangeListener.java | 35 + .../gui/GridChoiceComboBox$GridChoice.class | Bin 0 -> 867 bytes .../kzoo/grid/gui/GridChoiceComboBox.class | Bin 0 -> 2083 bytes .../edu/kzoo/grid/gui/GridChoiceComboBox.java | 113 + .../kzoo/grid/gui/GridCreationDialog$1.class | Bin 0 -> 750 bytes .../kzoo/grid/gui/GridCreationDialog$2.class | Bin 0 -> 750 bytes .../kzoo/grid/gui/GridCreationDialog$3.class | Bin 0 -> 752 bytes .../kzoo/grid/gui/GridCreationDialog.class | Bin 0 -> 6337 bytes .../edu/kzoo/grid/gui/GridCreationDialog.java | 261 + .../kzoo/grid/gui/GridDataFileHandler.class | Bin 0 -> 348 bytes .../kzoo/grid/gui/GridDataFileHandler.java | 50 + .../edu/kzoo/grid/gui/GridEditor$1.class | Bin 0 -> 698 bytes .../edu/kzoo/grid/gui/GridEditor$2.class | Bin 0 -> 711 bytes .../gui/GridEditor$GridObjectChoice.class | Bin 0 -> 1034 bytes .../grid/gui/GridEditor$GridObjectIcon.class | Bin 0 -> 2690 bytes .../edu/kzoo/grid/gui/GridEditor.class | Bin 0 -> 8416 bytes .../edu/kzoo/grid/gui/GridEditor.java | 387 + .../edu/kzoo/grid/gui/GridFileChooser$1.class | Bin 0 -> 931 bytes .../edu/kzoo/grid/gui/GridFileChooser.class | Bin 0 -> 4819 bytes .../edu/kzoo/grid/gui/GridFileChooser.java | 206 + .../edu/kzoo/grid/gui/GridPkgFactory$1.class | Bin 0 -> 653 bytes .../edu/kzoo/grid/gui/GridPkgFactory.class | Bin 0 -> 6829 bytes .../edu/kzoo/grid/gui/GridPkgFactory.java | 356 + .../grid/gui/SteppedGridAppController.class | Bin 0 -> 828 bytes .../grid/gui/SteppedGridAppController.java | 78 + .../kzoo/grid/gui/SteppedGridAppFrame$1.class | Bin 0 -> 897 bytes .../kzoo/grid/gui/SteppedGridAppFrame$2.class | Bin 0 -> 897 bytes .../kzoo/grid/gui/SteppedGridAppFrame$3.class | Bin 0 -> 883 bytes .../kzoo/grid/gui/SteppedGridAppFrame$4.class | Bin 0 -> 885 bytes .../kzoo/grid/gui/SteppedGridAppFrame$5.class | Bin 0 -> 882 bytes .../kzoo/grid/gui/SteppedGridAppFrame$6.class | Bin 0 -> 883 bytes .../kzoo/grid/gui/SteppedGridAppFrame$7.class | Bin 0 -> 764 bytes .../kzoo/grid/gui/SteppedGridAppFrame$8.class | Bin 0 -> 975 bytes .../kzoo/grid/gui/SteppedGridAppFrame.class | Bin 0 -> 6316 bytes .../kzoo/grid/gui/SteppedGridAppFrame.java | 424 + .../grid/gui/ThreadedControlButton$1.class | Bin 0 -> 950 bytes .../kzoo/grid/gui/ThreadedControlButton.class | Bin 0 -> 972 bytes .../kzoo/grid/gui/ThreadedControlButton.java | 84 + .../grid/gui/nuggets/BGColorChoiceMenu.class | Bin 0 -> 1839 bytes .../grid/gui/nuggets/BGColorChoiceMenu.java | 107 + .../gui/nuggets/BasicGridFileMenu$1.class | Bin 0 -> 920 bytes .../gui/nuggets/BasicGridFileMenu$2.class | Bin 0 -> 915 bytes .../gui/nuggets/BasicGridFileMenu$3.class | Bin 0 -> 915 bytes .../gui/nuggets/BasicGridFileMenu$4.class | Bin 0 -> 915 bytes .../grid/gui/nuggets/BasicGridFileMenu.class | Bin 0 -> 3883 bytes .../grid/gui/nuggets/BasicGridFileMenu.java | 220 + .../grid/gui/nuggets/BasicHelpMenu$1.class | Bin 0 -> 760 bytes .../grid/gui/nuggets/BasicHelpMenu$2.class | Bin 0 -> 760 bytes .../grid/gui/nuggets/BasicHelpMenu$3.class | Bin 0 -> 1209 bytes .../kzoo/grid/gui/nuggets/BasicHelpMenu.class | Bin 0 -> 5611 bytes .../kzoo/grid/gui/nuggets/BasicHelpMenu.java | 332 + .../grid/gui/nuggets/ClearGridButton.class | Bin 0 -> 1195 bytes .../grid/gui/nuggets/ClearGridButton.java | 86 + .../grid/gui/nuggets/ColorChoiceMenu$1.class | Bin 0 -> 767 bytes .../grid/gui/nuggets/ColorChoiceMenu.class | Bin 0 -> 2634 bytes .../grid/gui/nuggets/ColorChoiceMenu.java | 132 + .../InitializationButton$Initializer.class | Bin 0 -> 283 bytes .../gui/nuggets/InitializationButton.class | Bin 0 -> 1337 bytes .../gui/nuggets/InitializationButton.java | 90 + .../grid/gui/nuggets/MinimalFileMenu$1.class | Bin 0 -> 747 bytes .../grid/gui/nuggets/MinimalFileMenu.class | Bin 0 -> 1557 bytes .../grid/gui/nuggets/MinimalFileMenu.java | 96 + .../gui/nuggets/NewBoundedGridButton.class | Bin 0 -> 1399 bytes .../gui/nuggets/NewBoundedGridButton.java | 82 + .../06 NQueens/edu/kzoo/util/Debug.class | Bin 0 -> 1387 bytes .../06 NQueens/edu/kzoo/util/Debug.java | 154 + .../edu/kzoo/util/NamedColor$ColorMap.class | Bin 0 -> 3139 bytes .../06 NQueens/edu/kzoo/util/NamedColor.class | Bin 0 -> 5593 bytes .../06 NQueens/edu/kzoo/util/NamedColor.java | 607 + .../edu/kzoo/util/RandNumGenerator.class | Bin 0 -> 929 bytes .../edu/kzoo/util/RandNumGenerator.java | 133 + .../edu/kzoo/util/ValidatedInputReader.class | Bin 0 -> 5867 bytes .../edu/kzoo/util/ValidatedInputReader.java | 516 + .../edu_kzoo_grid Class Hierarchy.mht | 357 + 02 Recursion/06 NQueens/grid.jar | Bin 0 -> 247935 bytes 02 Recursion/07 MazeMaster/Maze.class | Bin 0 -> 5134 bytes 02 Recursion/07 MazeMaster/MazeMaster.class | Bin 0 -> 1795 bytes 02 Recursion/07 MazeMaster/MazeMaster.doc | Bin 0 -> 83456 bytes 02 Recursion/07 MazeMaster/MazeMaster.java | 488 + 02 Recursion/07 MazeMaster/maze1.txt | 9 + 02 Recursion/07 MazeMaster/maze2.txt | 7 + 02 Recursion/07 MazeMaster/maze3.txt | 5 + 02 Recursion/07 MazeMaster/maze4.txt | 7 + 02 Recursion/07 MazeMaster/mazeNoE.txt | 9 + 02 Recursion/07 MazeMaster/mazeNoPath.txt | 9 + 02 Recursion/07 MazeMaster/mazeNoS.txt | 9 + 02 Recursion/08 WinnerWinner/Board.class | Bin 0 -> 1842 bytes .../08 WinnerWinner/Winner Winner.doc | Bin 0 -> 50176 bytes .../08 WinnerWinner/WinnerWinner.class | Bin 0 -> 1531 bytes .../08 WinnerWinner/WinnerWinner.java | 182 + 02 Recursion/DS_Oct.pub | Bin 0 -> 165888 bytes .../Ethical Case Studies Directions.docx | Bin 0 -> 16439 bytes .../Ethical Case Studies.docx | Bin 0 -> 25550 bytes .../Practice-It Student Accounts.docx | Bin 0 -> 14989 bytes 02 Recursion/Practice-It and Recursion.docx | Bin 0 -> 239452 bytes .../01 Big-O _ Searches/Big-O Analysis.doc | Bin 0 -> 166400 bytes .../01 Big-O _ Searches/Big-O WS1.doc | Bin 0 -> 34816 bytes .../01 Big-O _ Searches/Big-O in Program.doc | Bin 0 -> 29696 bytes .../Search Linear and Binary.doc | Bin 0 -> 44032 bytes .../01 Big-O _ Searches/Searches.class | Bin 0 -> 1422 bytes .../01 Big-O _ Searches/Searches_Driver.class | Bin 0 -> 2634 bytes .../01 Big-O _ Searches/Searches_Driver.java | 103 + .../01 Big-O _ Searches/declaration.txt | 63 + .../02 Selection Sort/Selection Sort.doc | Bin 0 -> 51712 bytes .../02 Selection Sort/Selection.class | Bin 0 -> 1554 bytes .../SelectionSort_Driver.class | Bin 0 -> 2743 bytes .../SelectionSort_Driver.java | 140 + .../02 Selection Sort/declaration.txt | 63 + .../03 Insertion Sort/Insertion Sort.doc | Bin 0 -> 51712 bytes .../03 Insertion Sort/Insertion.class | Bin 0 -> 1091 bytes .../InsertionSort_Driver.class | Bin 0 -> 2743 bytes .../InsertionSort_Driver.java | 119 + .../03 Insertion Sort/declaration.txt | 63 + .../04 Merge Sort/Merge Sort Demo.docx | Bin 0 -> 18441 bytes .../04 Merge Sort/Merge Sort.docx | Bin 0 -> 35915 bytes .../04 Merge Sort/MergeSort.class | Bin 0 -> 2537 bytes .../04 Merge Sort/MergeSort_Driver.class | Bin 0 -> 2742 bytes .../04 Merge Sort/MergeSort_Driver.java | 285 + .../04 Merge Sort/SelectionLowHigh.class | Bin 0 -> 905 bytes .../04 Merge Sort/declaration.txt | 63 + .../05 Quick Sort/QuickSort.class | Bin 0 -> 1801 bytes .../05 Quick Sort/QuickSort.docx | Bin 0 -> 33156 bytes .../05 Quick Sort/QuickSort_Demo.docx | Bin 0 -> 19043 bytes .../05 Quick Sort/QuickSort_Driver.class | Bin 0 -> 2742 bytes .../05 Quick Sort/QuickSort_Driver.java | 179 + .../05 Quick Sort/declaration.txt | 63 + .../Big-O Multiple Choice.doc | Bin 0 -> 27648 bytes .../06 Big-O _ Widgets/Effect of Doubling.doc | Bin 0 -> 34304 bytes .../06 Big-O _ Widgets/Insertion.class | Bin 0 -> 1185 bytes .../06 Big-O _ Widgets/Know Thy Big-O.doc | Bin 0 -> 32256 bytes .../06 Big-O _ Widgets/MergeSort.class | Bin 0 -> 1950 bytes .../06 Big-O _ Widgets/QuickSort.class | Bin 0 -> 1845 bytes .../06 Big-O _ Widgets/Selection.class | Bin 0 -> 2091 bytes .../06 Big-O _ Widgets/Widget.class | Bin 0 -> 1962 bytes .../06 Big-O _ Widgets/Widget.java | 64 + .../06 Big-O _ Widgets/Widgets.doc | Bin 0 -> 67584 bytes .../06 Big-O _ Widgets/Widgets_Driver.class | Bin 0 -> 3808 bytes .../06 Big-O _ Widgets/Widgets_Driver.java | 168 + .../06 Big-O _ Widgets/widgets.txt | 114 + 03 Sorting _ Big-O/DS_Oct.pub | Bin 0 -> 164352 bytes .../01 ListLab1/ListLab1 support lecture.ppt | Bin 0 -> 431616 bytes 04 ListNode/01 ListLab1/ListLab1.class | Bin 0 -> 3755 bytes 04 ListNode/01 ListLab1/ListLab1.java | 156 + 04 ListNode/01 ListLab1/ListLab1_ext.doc | Bin 0 -> 43008 bytes 04 ListNode/01 ListLab1/ListNode Class.doc | Bin 0 -> 30720 bytes 04 ListNode/01 ListLab1/ListNode Lecture.doc | Bin 0 -> 39936 bytes 04 ListNode/01 ListLab1/ListNode.class | Bin 0 -> 813 bytes 04 ListNode/01 ListLab1/ListNode.java | 27 + .../Linked List Practice.doc | Bin 0 -> 36864 bytes .../linked list 15-33-50.doc | Bin 0 -> 377344 bytes .../linked list MC.doc | Bin 0 -> 43008 bytes .../02 ListLabReverse/02ReverseBuildNew.avi | Bin 0 -> 1995790 bytes .../03iterateThreePointers.mp4 | Bin 0 -> 5449786 bytes .../02 ListLabReverse/04recurTwoPointers.mp4 | Bin 0 -> 3764501 bytes .../05recurPointersAppend.mp4 | Bin 0 -> 4167218 bytes .../02 ListLabReverse/ListLabReverse.class | Bin 0 -> 3935 bytes .../02 ListLabReverse/ListLabReverse.doc | Bin 0 -> 51200 bytes .../02 ListLabReverse/ListLabReverse.java | 229 + 04 ListNode/02 ListLabReverse/ListNode.class | Bin 0 -> 813 bytes 04 ListNode/02 ListLabReverse/ListNode.java | 27 + 04 ListNode/03 Josephus/J_names.txt | 4945 +++++++ 04 ListNode/03 Josephus/J_numbers.txt | 10000 +++++++++++++ 04 ListNode/03 Josephus/Josephus.class | Bin 0 -> 4323 bytes 04 ListNode/03 Josephus/Josephus.docx | Bin 0 -> 551550 bytes 04 ListNode/03 Josephus/Josephus.java | 155 + .../03 Josephus/Josephus.jgrasp_canvas.xml | 58 + 04 ListNode/03 Josephus/ListNode.class | Bin 0 -> 813 bytes 04 ListNode/03 Josephus/ListNode.java | 27 + 04 ListNode/04 DLL/DLL.doc | Bin 0 -> 429056 bytes 04 ListNode/04 DLL/DLL.java | 120 + 04 ListNode/04 DLL/DLL_Driver.java | 89 + 04 ListNode/04 DLL/DLNode.java | 44 + 04 ListNode/04 DLL/Doubly Linked Lists WS.doc | Bin 0 -> 58368 bytes 04 ListNode/05 Cards extra lab/Card.class | Bin 0 -> 2886 bytes 04 ListNode/05 Cards extra lab/CardDeck.class | Bin 0 -> 2669 bytes .../05 Cards extra lab/CardDriver.class | Bin 0 -> 452 bytes .../05 Cards extra lab/CardDriver.java | 464 + 04 ListNode/05 Cards extra lab/CardHand.class | Bin 0 -> 1522 bytes 04 ListNode/05 Cards extra lab/Cards.doc | Bin 0 -> 29184 bytes 04 ListNode/05 Cards extra lab/ListNode.class | Bin 0 -> 813 bytes 04 ListNode/05 Cards extra lab/ListNode.java | 28 + 04 ListNode/05 Cards extra lab/War.class | Bin 0 -> 4235 bytes 04 ListNode/06a CacheList/CacheList.pdf | Bin 0 -> 161451 bytes .../01 TJArrayList/Collections.doc | Bin 0 -> 54272 bytes .../01 TJArrayList/TJArrayList.class | Bin 0 -> 3387 bytes .../01 TJArrayList/TJArrayList.doc | Bin 0 -> 153600 bytes .../01 TJArrayList/TJArrayList.java | 120 + .../01 TJArrayList/TJArrayList_Driver.class | Bin 0 -> 397 bytes .../01 TJArrayList/TJArrayList_Driver.java | 74 + .../01 TJArrayList/Widget.class | Bin 0 -> 1962 bytes .../01 TJArrayList/Widget.java | 64 + .../Generic Types and Methods.docx | Bin 0 -> 17303 bytes .../SortingGenerically.java | 170 + .../02 SortingGenerically/Widget.java | 67 + .../02 SortingGenerically/strings.txt | 4 + .../02 SortingGenerically/widgets.txt | 114 + .../Collections Speed.doc | Bin 0 -> 57856 bytes .../CollectionsSpeed.class | Bin 0 -> 3457 bytes .../CollectionsSpeed.java | 90 + .../04 IteratorLab/Iterator Worksheet.doc | Bin 0 -> 51712 bytes .../04 IteratorLab/IteratorLab.class | Bin 0 -> 4829 bytes .../04 IteratorLab/IteratorLab.java | 103 + .../05 IndexMaker/DocumentIndex.class | Bin 0 -> 1682 bytes .../05 IndexMaker/IndexEntry.class | Bin 0 -> 2263 bytes .../05 IndexMaker/IndexMaker.class | Bin 0 -> 1968 bytes .../05 IndexMaker/IndexMaker.doc | Bin 0 -> 40960 bytes .../05 IndexMaker/IndexMaker.java | 146 + .../05 IndexMaker/fish.txt | 18 + .../05 IndexMaker/fish1.txt | 0 .../05 IndexMaker/fish2.txt | 8 + .../05 IndexMaker/fish3.txt | 17 + .../05 IndexMaker/fishIndex.txt | 20 + .../AP AB Quick Reference--2 col.doc | Bin 0 -> 72192 bytes 05 Collections _ Generics/DS_Dec.pub | Bin 0 -> 265216 bytes .../01 ParenMatch/ParenMatch.class | Bin 0 -> 2214 bytes .../01 ParenMatch/ParenMatch.java | 71 + .../01 ParenMatch/Parentheses Match.doc | Bin 0 -> 27648 bytes .../Stacks Queues Priority Queues.docx | Bin 0 -> 17516 bytes .../02 Postfix/Postfix Expressions.doc | Bin 0 -> 41984 bytes 06 Stacks _ Queues/02 Postfix/Postfix.class | Bin 0 -> 3451 bytes 06 Stacks _ Queues/02 Postfix/Postfix.java | 103 + .../03 Infix/Infix Expressions.doc | Bin 0 -> 42496 bytes 06 Stacks _ Queues/03 Infix/Infix.class | Bin 0 -> 3457 bytes 06 Stacks _ Queues/03 Infix/Infix.java | 90 + .../03 Infix/Infix_Extension.class | Bin 0 -> 4230 bytes .../03 Infix/Infix_Extension.java | 116 + 06 Stacks _ Queues/03 Infix/Postfix.class | Bin 0 -> 3451 bytes 06 Stacks _ Queues/03 Infix/Postfix.java | 103 + .../04 Song Queue/Song Queue.doc | Bin 0 -> 38400 bytes .../04 Song Queue/SongQueue.class | Bin 0 -> 3619 bytes .../04 Song Queue/SongQueue.java | 162 + 06 Stacks _ Queues/04 Song Queue/songs.txt | 6 + .../05-08 McRonald/Customer.class | Bin 0 -> 688 bytes .../05-08 McRonald/McRonald.class | Bin 0 -> 2427 bytes .../05-08 McRonald/McRonald.doc | Bin 0 -> 36352 bytes .../05-08 McRonald/McRonald.java | 1289 ++ .../05-08 McRonald/McRonald1000.class | Bin 0 -> 2686 bytes .../05-08 McRonald/McRonald1000.java | 78 + .../05-08 McRonald/McRonald3.class | Bin 0 -> 3123 bytes .../05-08 McRonald/McRonald3.java | 176 + .../05-08 McRonald/McRonald5.class | Bin 0 -> 2491 bytes .../05-08 McRonald/McRonald5.java | 1308 ++ .../05-08 McRonald/McRonaldVIP.class | Bin 0 -> 2761 bytes .../05-08 McRonald/McRonaldVIP.java | 1333 ++ .../05-08 McRonald/ProbTest.class | Bin 0 -> 650 bytes .../05-08 McRonald/ProbTest.java | 9 + .../05-08 McRonald/Window.class | Bin 0 -> 2850 bytes .../09 LunchRoom/Customer.class | Bin 0 -> 1397 bytes .../09 LunchRoom/LunchRoom.class | Bin 0 -> 2553 bytes .../09 LunchRoom/LunchRoom.java | 1277 ++ .../09 LunchRoom/MyPriorityQueue.class | Bin 0 -> 1407 bytes .../09 LunchRoom/MyPriorityQueue.java | 37 + .../09 LunchRoom/Priority Queues.doc | Bin 0 -> 54272 bytes .../09 LunchRoom/PriorityQueueDemo.class | Bin 0 -> 1215 bytes .../09 LunchRoom/PriorityQueueDemo.java | 25 + .../10 S, Q, PQ/Implementing S, Q, PQ.doc | Bin 0 -> 54272 bytes .../11 MyPriorityQueue/MyPriorityQueue.class | Bin 0 -> 529 bytes .../11 MyPriorityQueue/MyPriorityQueue.java | 33 + .../12 Assembly Line/Assembly Line.doc | Bin 0 -> 41472 bytes .../12 Assembly Line/AssemblyLine.class | Bin 0 -> 1765 bytes .../AssemblyLine_Driver.class | Bin 0 -> 699 bytes .../12 Assembly Line/AssemblyLine_Driver.java | 110 + .../12 Assembly Line/Disk.class | Bin 0 -> 891 bytes .../12 Assembly Line/Pyramid.class | Bin 0 -> 309 bytes .../AP AB Quick Reference--2 col.doc | Bin 0 -> 72192 bytes 06 Stacks _ Queues/DS_Jan.pdf | Bin 0 -> 206788 bytes 07 Trees/01 TreeLab/TreeLab.class | Bin 0 -> 5872 bytes 07 Trees/01 TreeLab/TreeLab.java | 281 + 07 Trees/01 TreeLab/TreeNode.class | Bin 0 -> 1183 bytes 07 Trees/01 TreeLab/TreeNode.java | 51 + 07 Trees/01 TreeLab/Trees Intro.doc | Bin 0 -> 204800 bytes 07 Trees/01 TreeLab/Trees Worksheet.doc | Bin 0 -> 107520 bytes 07 Trees/01 TreeLab/Trees resource.ppt | Bin 0 -> 5637632 bytes .../01a Practice_It/Practice_It _ Trees.doc | Bin 0 -> 29184 bytes 07 Trees/02 BXT/BXT.class | Bin 0 -> 3935 bytes 07 Trees/02 BXT/BXT.docx | Bin 0 -> 16724 bytes 07 Trees/02 BXT/BXT.java | 150 + 07 Trees/02 BXT/BXT_Driver.class | Bin 0 -> 1786 bytes 07 Trees/02 BXT/BXT_Driver.java | 76 + 07 Trees/02 BXT/TreeNode.class | Bin 0 -> 1183 bytes 07 Trees/02 BXT/TreeNode.java | 51 + 07 Trees/03 BST/BST.class | Bin 0 -> 3189 bytes 07 Trees/03 BST/BST.java | 160 + 07 Trees/03 BST/BST_Driver.class | Bin 0 -> 2511 bytes 07 Trees/03 BST/BST_Driver.java | 173 + 07 Trees/03 BST/BSTinterface.class | Bin 0 -> 268 bytes 07 Trees/03 BST/Binary Search Tree.doc | Bin 0 -> 52736 bytes 07 Trees/03 BST/TreeNode.class | Bin 0 -> 1183 bytes 07 Trees/03 BST/TreeNode.java | 51 + 07 Trees/04 BST Remove/BST Remove.doc | Bin 0 -> 382464 bytes 07 Trees/04 BST Remove/BST.class | Bin 0 -> 3686 bytes 07 Trees/04 BST Remove/BST.java | 193 + .../04 BST Remove/BST_Remove_Driver.class | Bin 0 -> 1831 bytes 07 Trees/04 BST Remove/BST_Remove_Driver.java | 68 + 07 Trees/04 BST Remove/BSTinterface.class | Bin 0 -> 303 bytes 07 Trees/04 BST Remove/TreeNode.class | Bin 0 -> 1183 bytes 07 Trees/04 BST Remove/TreeNode.java | 51 + 07 Trees/04 BST Remove/chapt10b.ppt | Bin 0 -> 482304 bytes .../AVL tree visualization.docx | Bin 0 -> 11642 bytes .../AVL-Tree-Rotations.pdf | Bin 0 -> 37398 bytes 07 Trees/05 BST self-balancing/AVLTrees.pdf | Bin 0 -> 178960 bytes 07 Trees/05 BST self-balancing/BST.class | Bin 0 -> 4945 bytes 07 Trees/05 BST self-balancing/BST.java | 266 + .../BST_AVL_driver.class | Bin 0 -> 1068 bytes .../05 BST self-balancing/BST_AVL_driver.java | 441 + .../BST_self_balancing_driver.class | Bin 0 -> 1129 bytes .../BST_self_balancing_driver.java | 432 + .../05 BST self-balancing/BSTinterface.class | Bin 0 -> 325 bytes .../Self-Balancing BST.doc | Bin 0 -> 29696 bytes 07 Trees/05 BST self-balancing/TreeNode.class | Bin 0 -> 1183 bytes 07 Trees/05 BST self-balancing/TreeNode.java | 51 + .../balancing_search_trees.pdf | 11613 ++++++++++++++++ 07 Trees/06 BST generic/BST_Generic.class | Bin 0 -> 5955 bytes 07 Trees/06 BST generic/BST_Generic.java | 266 + .../06 BST generic/BST_Generic_Driver.class | Bin 0 -> 3165 bytes .../06 BST generic/BST_Generic_Driver.java | 112 + 07 Trees/06 BST generic/BSTinterface.class | Bin 0 -> 564 bytes 07 Trees/06 BST generic/Generic BST.docx | Bin 0 -> 14950 bytes 07 Trees/06 BST generic/TreeNode.class | Bin 0 -> 1697 bytes 07 Trees/06 BST generic/Widget.class | Bin 0 -> 2079 bytes 07 Trees/06 BST generic/Widget.java | 86 + 07 Trees/06 BST generic/widgets.txt | 113 + 07 Trees/07 TreePriorityQueue/Item.class | Bin 0 -> 1052 bytes 07 Trees/07 TreePriorityQueue/TreeNode.class | Bin 0 -> 1183 bytes 07 Trees/07 TreePriorityQueue/TreeNode.java | 51 + .../TreePriorityQueue.class | Bin 0 -> 2377 bytes .../TreePriorityQueue.doc | Bin 0 -> 43008 bytes .../TreePriorityQueue_Driver.class | Bin 0 -> 1594 bytes .../TreePriorityQueue_Driver.java | 158 + 07 Trees/07 TreePriorityQueue/widgets.txt | 113 + 07 Trees/08 SpellCheckTree/SpellCheckTree.doc | Bin 0 -> 38400 bytes 07 Trees/08 SpellCheckTree/declaration.txt | 63 + .../09 Stern-Brocot Tree/Stern Brocot.doc | Bin 0 -> 52224 bytes .../01 Hashing/Hashing.class | Bin 0 -> 2070 bytes 08 Hashing Sets _ Maps/01 Hashing/Hashing.doc | Bin 0 -> 122880 bytes .../01 Hashing/Hashing.java | 270 + .../01 Hashing/Hashtable.class | Bin 0 -> 177 bytes .../01 Hashing/HashtableChaining.class | Bin 0 -> 1508 bytes .../01 Hashing/HashtableLinearProbe.class | Bin 0 -> 1691 bytes .../01 Hashing/HashtableRehash.class | Bin 0 -> 2082 bytes .../01 Hashing/Video on Hashing.docx | Bin 0 -> 13504 bytes .../02 Sets/SetPractice.class | Bin 0 -> 1807 bytes .../02 Sets/SetPractice.java | 36 + .../02 Sets/Sets of Letters.doc | Bin 0 -> 29184 bytes 08 Hashing Sets _ Maps/02 Sets/Sets.doc | Bin 0 -> 33280 bytes .../02 Sets/SetsOfLetters.class | Bin 0 -> 2110 bytes .../02 Sets/SetsOfLetters.java | 131 + .../02 Sets/declarationLast.txt | 16 + .../03 Maps/DocumentIndex.class | Bin 0 -> 2205 bytes .../03 Maps/IndexMakerMap.class | Bin 0 -> 1683 bytes .../03 Maps/IndexMakerMap.doc | Bin 0 -> 33280 bytes .../03 Maps/IndexMakerMap.java | 121 + .../03 Maps/MapPractice.java | 36 + 08 Hashing Sets _ Maps/03 Maps/Maps.doc | Bin 0 -> 35840 bytes 08 Hashing Sets _ Maps/03 Maps/fish.txt | 18 + 08 Hashing Sets _ Maps/03 Maps/fish1.txt | 0 08 Hashing Sets _ Maps/03 Maps/fish2.txt | 16 + 08 Hashing Sets _ Maps/03 Maps/fish3.txt | 17 + 08 Hashing Sets _ Maps/03 Maps/fish4.txt | 8 + 08 Hashing Sets _ Maps/03 Maps/fishIndex.txt | 20 + .../04 Dictionary/Dictionary.class | Bin 0 -> 8172 bytes .../04 Dictionary/Dictionary.doc | Bin 0 -> 29696 bytes .../04 Dictionary/Dictionary.java | 328 + .../04 Dictionary/dictionaryOutput.txt | 40 + .../04 Dictionary/spanglish.txt | 46 + 08 Hashing Sets _ Maps/05 Fib/Fib.class | Bin 0 -> 2290 bytes 08 Hashing Sets _ Maps/05 Fib/Fib.java | 207 + 08 Hashing Sets _ Maps/05 Fib/Fib1.class | Bin 0 -> 413 bytes 08 Hashing Sets _ Maps/05 Fib/Fib2.class | Bin 0 -> 617 bytes 08 Hashing Sets _ Maps/05 Fib/Fib3.class | Bin 0 -> 978 bytes 08 Hashing Sets _ Maps/05 Fib/Fib4.class | Bin 0 -> 1114 bytes 08 Hashing Sets _ Maps/05 Fib/Fibber.class | Bin 0 -> 111 bytes .../05 Fib/Fibonacci HashMap.doc | Bin 0 -> 39936 bytes .../06 HailstoneMap/Hailstone HashMaps.doc | Bin 0 -> 69120 bytes .../06 HailstoneMap/HailstoneMap.class | Bin 0 -> 2033 bytes .../06 HailstoneMap/HailstoneMap_Driver.class | Bin 0 -> 2493 bytes .../06 HailstoneMap/HailstoneMap_Driver.java | 190 + .../07 Polynomial/Polynomial extensions.doc | Bin 0 -> 27136 bytes .../07 Polynomial/Polynomial.class | Bin 0 -> 4610 bytes .../07 Polynomial/Polynomial.doc | Bin 0 -> 28672 bytes .../07 Polynomial/PolynomialInterface.class | Bin 0 -> 425 bytes .../07 Polynomial/Polynomial_Driver.class | Bin 0 -> 2214 bytes .../07 Polynomial/Polynomial_Driver.java | 189 + .../08 HashingAWidget/HashingAWidget.class | Bin 0 -> 1412 bytes .../08 HashingAWidget/HashingAWidget.doc | Bin 0 -> 45568 bytes .../08 HashingAWidget/HashingAWidget.java | 119 + .../08 HashingAWidget/HashingQuestions.doc | Bin 0 -> 48640 bytes .../08 HashingAWidget/Widget.class | Bin 0 -> 2138 bytes .../Cities and Postal Codes.doc | Bin 0 -> 42496 bytes .../Practice_It Sets_Maps.docx | Bin 0 -> 310922 bytes 09 Heaps/01 Heaps, HeapSort/HeapSort.doc | Bin 0 -> 87552 bytes 09 Heaps/01 Heaps, HeapSort/HeapSort.java | 81 + 09 Heaps/01 Heaps, HeapSort/Heaps.doc | Bin 0 -> 78848 bytes 09 Heaps/01 Heaps, HeapSort/chapt11.ppt | Bin 0 -> 394752 bytes .../HeapPriorityQueue.doc | Bin 0 -> 51200 bytes .../HeapPriorityQueue.java | 61 + .../HeapPriorityQueue_Driver.java | 45 + 09 Heaps/02 HeapPriorityQueue/LunchRoom.java | 174 + .../01_02 Huffman Coding/Huffman Coding.doc | Bin 0 -> 36864 bytes 11 Huffman/01_02 Huffman Coding/Huffman.java | 43 + .../01_02 Huffman Coding/TreeNode.class | Bin 0 -> 1192 bytes 11 Huffman/01_02 Huffman Coding/TreeNode.java | 51 + 11 Huffman/01_02 Huffman Coding/deHuffman.doc | Bin 0 -> 54784 bytes .../01_02 Huffman Coding/deHuffman.java | 79 + .../01_02 Huffman Coding/message.fault.txt | 1 + .../01_02 Huffman Coding/message.laughter.txt | 1 + .../01_02 Huffman Coding/message.maips.txt | 1 + .../01_02 Huffman Coding/message.money.txt | 1 + .../01_02 Huffman Coding/message.tj.txt | 1 + .../message.vegetables.txt | 1 + .../01_02 Huffman Coding/scheme.fault.txt | 23 + .../01_02 Huffman Coding/scheme.laughter.txt | 33 + .../01_02 Huffman Coding/scheme.maips.txt | 6 + .../01_02 Huffman Coding/scheme.money.txt | 24 + 11 Huffman/01_02 Huffman Coding/scheme.tj.txt | 4 + .../scheme.vegetables.txt | 27 + .../Huffman Coding with Images.doc | Bin 0 -> 494592 bytes .../03_04 HuffmanPix--student/HuffmanPix.java | 103 + .../03_04 HuffmanPix--student/TreeNode.java | 51 + .../03_04 HuffmanPix--student/caterpillar.gif | Bin 0 -> 5666 bytes .../03_04 HuffmanPix--student/caterpillar.jpg | Bin 0 -> 34689 bytes .../03_04 HuffmanPix--student/caterpillar.png | Bin 0 -> 32159 bytes .../deHuffmanPix.java | 126 + .../03_04 HuffmanPix--student/smiley.bmp | Bin 0 -> 96714 bytes .../03_04 HuffmanPix--student/smiley.gif | Bin 0 -> 7230 bytes .../03_04 HuffmanPix--student/smiley.jpg | Bin 0 -> 4964 bytes .../03_04 HuffmanPix--student/smiley.png | Bin 0 -> 20304 bytes 12 Graphs/00-02 AdjMat/AdjMat.class | Bin 0 -> 1603 bytes 12 Graphs/00-02 AdjMat/AdjMat.java | 78 + 12 Graphs/00-02 AdjMat/AdjMat_0_Driver.java | 101 + 12 Graphs/00-02 AdjMat/AdjacencyMatrix.class | Bin 0 -> 350 bytes 12 Graphs/00-02 AdjMat/Floyd.class | Bin 0 -> 201 bytes 12 Graphs/00-02 AdjMat/FloydDriver.java | 89 + 12 Graphs/00-02 AdjMat/Graphs0--AdjMat.doc | Bin 0 -> 52736 bytes 12 Graphs/00-02 AdjMat/Graphs1--Warshall.doc | Bin 0 -> 51712 bytes 12 Graphs/00-02 AdjMat/Graphs2--Floyd.doc | Bin 0 -> 49152 bytes 12 Graphs/00-02 AdjMat/Warshall.class | Bin 0 -> 469 bytes 12 Graphs/00-02 AdjMat/WarshallDriver.java | 105 + 12 Graphs/00-02 AdjMat/cities.txt | 9 + 12 Graphs/00-02 AdjMat/citymatrix.txt | 9 + 12 Graphs/00-02 AdjMat/citymatrixweighted.txt | 9 + 12 Graphs/03-05 AdjList/AdjList.java | 99 + 12 Graphs/03-05 AdjList/AdjList_3_Driver.java | 40 + 12 Graphs/03-05 AdjList/AdjList_5_Driver.java | 70 + 12 Graphs/03-05 AdjList/DFS_BFS_Driver.java | 65 + 12 Graphs/03-05 AdjList/Graph Exercises.doc | Bin 0 -> 188928 bytes 12 Graphs/03-05 AdjList/Graphs3--EdgeList.doc | Bin 0 -> 43520 bytes 12 Graphs/03-05 AdjList/Graphs4--DFS-BFS.doc | Bin 0 -> 62976 bytes .../03-05 AdjList/Graphs5--EdgeListCities.doc | Bin 0 -> 46080 bytes 12 Graphs/03-05 AdjList/cityEdgeList.txt | 13 + .../AdjListWeighted.java | 84 + .../Dijkstra_6_Driver.java | 52 + .../Dijkstra_7_Driver.java | 61 + .../Graphs6--Dijkstra.doc | Bin 0 -> 122880 bytes .../Graphs7--Dijkstra and Cities.doc | Bin 0 -> 79360 bytes .../06-07 Dijkstra_s Algorithm/cities.txt | 9 + .../cityEdgeListWeighted.txt | 13 + .../11 HTH State Graphs/Graphs11--HTH.doc | Bin 0 -> 30208 bytes 12 Graphs/11 HTH State Graphs/HTH_Driver.java | 79 + 12 Graphs/25 TeamBuilder/TeamBuilder.doc | Bin 0 -> 51712 bytes 12 Graphs/25 TeamBuilder/TeamBuilder.java | 25 + 12 Graphs/25 TeamBuilder/tb0.txt | 1 + 12 Graphs/25 TeamBuilder/tb1.txt | 1 + 12 Graphs/25 TeamBuilder/tb2.txt | 1 + 12 Graphs/25 TeamBuilder/tb3.txt | 1 + 12 Graphs/45 Jugs/Jugs.doc | Bin 0 -> 39424 bytes 12 Graphs/45 Jugs/Jugs.java | 61 + 12 Graphs/45 Jugs/jugs1.txt | 1 + 12 Graphs/45 Jugs/jugs2.txt | 7 + 12 Graphs/65 Island Ferries/IslandFerries.doc | Bin 0 -> 58368 bytes .../65 Island Ferries/IslandFerries.java | 84 + 12 Graphs/85 RoboCourier/RoboCourier.doc | Bin 0 -> 61440 bytes .../85 RoboCourier/RoboCourier_Driver.java | 33 + 12 Graphs/85 RoboCourier/rc0.txt | 1 + 12 Graphs/85 RoboCourier/rc1.txt | 2 + 12 Graphs/85 RoboCourier/rc2.txt | 3 + 12 Graphs/85 RoboCourier/rc3.txt | 2 + 12 Graphs/85 RoboCourier/rc4.txt | 6 + 12 Graphs/85 RoboCourier/rc5.txt | 12 + 668 files changed, 60695 insertions(+) create mode 100644 01 Strings/01 Modes/First Day Warm Up.doc create mode 100644 01 Strings/01 Modes/Modes.class create mode 100644 01 Strings/01 Modes/Modes.doc create mode 100644 01 Strings/01 Modes/Modes.java create mode 100644 01 Strings/02 SmartCard/SmartCard.class create mode 100644 01 Strings/02 SmartCard/SmartCard.docx create mode 100644 01 Strings/02 SmartCard/SmartCard_Driver.class create mode 100644 01 Strings/02 SmartCard/SmartCard_Driver.java create mode 100644 01 Strings/02 SmartCard/Station.class create mode 100644 01 Strings/02a StringMethods/FrodoStringDemo.doc create mode 100644 01 Strings/02a StringMethods/StringMethods.class create mode 100644 01 Strings/02a StringMethods/StringMethods.doc create mode 100644 01 Strings/02a StringMethods/StringMethods.java create mode 100644 01 Strings/03-04 PigLatin/LittleFrog.txt create mode 100644 01 Strings/03-04 PigLatin/LittleFrogBetter.txt create mode 100644 01 Strings/03-04 PigLatin/LittleFrogEvenBetter.txt create mode 100644 01 Strings/03-04 PigLatin/LittleFrogOut.txt create mode 100644 01 Strings/03-04 PigLatin/PigLatin.class create mode 100644 01 Strings/03-04 PigLatin/PigLatin.docx create mode 100644 01 Strings/03-04 PigLatin/PigLatin.java create mode 100644 01 Strings/03-04 PigLatin/PigLatin.txt create mode 100644 01 Strings/03-04 PigLatin/PigLatinOUt.txt create mode 100644 01 Strings/03-04 PigLatin/Scanner and PrintWriter Classes.docx create mode 100644 01 Strings/03-04 PigLatin/ScannerPractice.class create mode 100644 01 Strings/03-04 PigLatin/ScannerPractice.java create mode 100644 01 Strings/03-04 PigLatin/declaration.txt create mode 100644 01 Strings/03-04 PigLatin/out.txt create mode 100644 01 Strings/03-04 PigLatin/outt.txt create mode 100644 01 Strings/03-04 PigLatin/results.txt create mode 100644 01 Strings/03-04 PigLatin/testing.txt create mode 100644 01 Strings/05 Sentence/Sentence.class create mode 100644 01 Strings/05 Sentence/Sentence.doc create mode 100644 01 Strings/05 Sentence/Sentence_Driver.class create mode 100644 01 Strings/05 Sentence/Sentence_Driver.java create mode 100644 01 Strings/06 LogMessage/Log Message.doc create mode 100644 01 Strings/06 LogMessage/LogMessage.class create mode 100644 01 Strings/06 LogMessage/LogMessageTest.class create mode 100644 01 Strings/06 LogMessage/LogMessageTest.java create mode 100644 01 Strings/06 LogMessage/SystemLog.class create mode 100644 01 Strings/07 Cemetery/Cemetery$1.class create mode 100644 01 Strings/07 Cemetery/Cemetery$searchGUI$1.class create mode 100644 01 Strings/07 Cemetery/Cemetery$searchGUI$2.class create mode 100644 01 Strings/07 Cemetery/Cemetery$searchGUI$3.class create mode 100644 01 Strings/07 Cemetery/Cemetery$searchGUI$4.class create mode 100644 01 Strings/07 Cemetery/Cemetery$searchGUI.class create mode 100644 01 Strings/07 Cemetery/Cemetery.class create mode 100644 01 Strings/07 Cemetery/Cemetery.docx create mode 100644 01 Strings/07 Cemetery/Cemetery.java create mode 100644 01 Strings/07 Cemetery/Person.class create mode 100644 01 Strings/07 Cemetery/cemetery.txt create mode 100644 01 Strings/07 Cemetery/cemetery_orig.txt create mode 100644 01 Strings/07 Cemetery/cemetery_short.txt create mode 100644 01 Strings/08a StringCoder/String Coder.doc create mode 100644 01 Strings/08a StringCoder/StringCoder.class create mode 100644 01 Strings/08a StringCoder/StringCoderDriver.class create mode 100644 01 Strings/08a StringCoder/StringCoderDriver.java create mode 100644 01 Strings/08a StringCoder/StringPart.class create mode 100644 01 Strings/DS_Sept.pub create mode 100644 02 Recursion/00 Recursion Intro/Additional Labs for Fast Finishers.doc create mode 100644 02 Recursion/00 Recursion Intro/Oberle PowerPoint/10_Recursion Dangers.pptx create mode 100644 02 Recursion/00 Recursion Intro/Oberle PowerPoint/11_Recur_dot_java 1.pptx create mode 100644 02 Recursion/00 Recursion Intro/Oberle PowerPoint/12_Recur_dot_java 2.pptx create mode 100644 02 Recursion/00 Recursion Intro/Oberle PowerPoint/9_Recursion.pptx create mode 100644 02 Recursion/00 Recursion Intro/Recursion Exercises.docx create mode 100644 02 Recursion/00 Recursion Intro/Recursion Notes.doc create mode 100644 02 Recursion/01 Permutations/Permutations.class create mode 100644 02 Recursion/01 Permutations/Permutations.docx create mode 100644 02 Recursion/01 Permutations/Permutations.java create mode 100644 02 Recursion/02 Fibonacci/Fibonacci - Recursion v Iteration.docx create mode 100644 02 Recursion/02 Fibonacci/Fibonacci Talking Points.doc create mode 100644 02 Recursion/02 Fibonacci/Fibonacci.class create mode 100644 02 Recursion/02 Fibonacci/Fibonacci.java create mode 100644 02 Recursion/03 Hailstone/Hailstone.class create mode 100644 02 Recursion/03 Hailstone/Hailstone.java create mode 100644 02 Recursion/04 AreaFill/AreaFill.class create mode 100644 02 Recursion/04 AreaFill/AreaFill.doc create mode 100644 02 Recursion/04 AreaFill/AreaFill.java create mode 100644 02 Recursion/04 AreaFill/area1.txt create mode 100644 02 Recursion/04 AreaFill/area2.txt create mode 100644 02 Recursion/04 AreaFill/area3.txt create mode 100644 02 Recursion/04 AreaFill/area4.txt create mode 100644 02 Recursion/05 ExpressionEvaluator/Evaluator.class create mode 100644 02 Recursion/05 ExpressionEvaluator/Expression Evaluator.doc create mode 100644 02 Recursion/05 ExpressionEvaluator/ExpressionEvaluator.class create mode 100644 02 Recursion/05 ExpressionEvaluator/ExpressionEvaluator.java create mode 100644 02 Recursion/05 ExpressionEvaluator/ExpressionTokenizer.class create mode 100644 02 Recursion/06 NQueens/GoldCrown.gif create mode 100644 02 Recursion/06 NQueens/LABS.CSS create mode 100644 02 Recursion/06 NQueens/NQueens.class create mode 100644 02 Recursion/06 NQueens/NQueens.java create mode 100644 02 Recursion/06 NQueens/NQueensLab.class create mode 100644 02 Recursion/06 NQueens/NQueensLab.java create mode 100644 02 Recursion/06 NQueens/NQueensLab.shtml create mode 100644 02 Recursion/06 NQueens/NQueens_Lab.doc create mode 100644 02 Recursion/06 NQueens/Queen.class create mode 100644 02 Recursion/06 NQueens/Queen.java create mode 100644 02 Recursion/06 NQueens/README.txt create mode 100644 02 Recursion/06 NQueens/SilverCrown.gif create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$ArrayListGridRep.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$Bounded.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$Unbounded.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/BoundedGrid$Array2DGridRep.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/BoundedGrid.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/BoundedGrid.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/ColorBlock.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/ColorBlock.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Direction.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Direction.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Grid$BoundedGridValidityChecker.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Grid$InternalRepresentation.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Grid$UnboundedGridValidityChecker.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Grid$ValidityChecker.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Grid.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Grid.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/GridObject.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/GridObject.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Location.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/Location.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/PictureBlock.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/PictureBlock.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/TextCell.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/TextCell.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/CheckeredBackgroundDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/CheckeredBackgroundDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ColorBlockDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ColorBlockDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplayFactory.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplayFactory.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/DisplayDecorator.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/DisplayDecorator.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/DisplayMap.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/DisplayMap.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/GridBackgroundDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/GridBackgroundDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/GridDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/GridDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/GridObjectDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/GridObjectDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/PictureBlockDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/PictureBlockDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/PseudoInfiniteViewport$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/PseudoInfiniteViewport$Pannable.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/PseudoInfiniteViewport.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/PseudoInfiniteViewport.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/RotatedDecorator.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/RotatedDecorator.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScaledDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScaledDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScaledImageDisplay$TintFilter.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScaledImageDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScaledImageDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScaledImageTintDecorator.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScaledImageTintDecorator.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScrollableGridDisplay$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScrollableGridDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/ScrollableGridDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/TextAndIconRenderer.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/TextAndIconRenderer.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/TextCellDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/TextCellDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/TextDisplay.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/display/TextDisplay.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ActiveGridAppController.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ActiveGridAppController.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ColorChoiceDDMenu$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ColorChoiceDDMenu$ColorChoice.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ColorChoiceDDMenu$ColorIcon.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ColorChoiceDDMenu.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ColorChoiceDDMenu.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ControlButton$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ControlButton.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ControlButton.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/EnabledDisabledStates.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/EnabledDisabledStates.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/FileMenuActionHandler.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/FileMenuActionHandler.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GeneratedButtonList$GeneratedThreadedControlButton.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GeneratedButtonList.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GeneratedButtonList.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridAppFrame$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridAppFrame$DisplayMouseListener.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridAppFrame$GUIExceptionHandler.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridAppFrame.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridAppFrame.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridChangeListener.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridChangeListener.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridChoiceComboBox$GridChoice.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridChoiceComboBox.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridChoiceComboBox.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridCreationDialog$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridCreationDialog$2.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridCreationDialog$3.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridCreationDialog.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridCreationDialog.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridDataFileHandler.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridDataFileHandler.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridEditor$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridEditor$2.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridEditor$GridObjectChoice.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridEditor$GridObjectIcon.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridEditor.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridEditor.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridFileChooser$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridFileChooser.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridFileChooser.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridPkgFactory$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridPkgFactory.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/GridPkgFactory.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppController.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppController.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame$2.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame$3.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame$4.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame$5.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame$6.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame$7.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame$8.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/SteppedGridAppFrame.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ThreadedControlButton$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ThreadedControlButton.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/ThreadedControlButton.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BGColorChoiceMenu.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BGColorChoiceMenu.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicGridFileMenu$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicGridFileMenu$2.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicGridFileMenu$3.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicGridFileMenu$4.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicGridFileMenu.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicGridFileMenu.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicHelpMenu$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicHelpMenu$2.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicHelpMenu$3.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicHelpMenu.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/BasicHelpMenu.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/ClearGridButton.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/ClearGridButton.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/ColorChoiceMenu$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/ColorChoiceMenu.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/ColorChoiceMenu.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/InitializationButton$Initializer.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/InitializationButton.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/InitializationButton.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/MinimalFileMenu$1.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/MinimalFileMenu.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/MinimalFileMenu.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/NewBoundedGridButton.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/grid/gui/nuggets/NewBoundedGridButton.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/Debug.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/Debug.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/NamedColor$ColorMap.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/NamedColor.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/NamedColor.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/RandNumGenerator.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/RandNumGenerator.java create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/ValidatedInputReader.class create mode 100644 02 Recursion/06 NQueens/edu/kzoo/util/ValidatedInputReader.java create mode 100644 02 Recursion/06 NQueens/edu_kzoo_grid Class Hierarchy.mht create mode 100644 02 Recursion/06 NQueens/grid.jar create mode 100644 02 Recursion/07 MazeMaster/Maze.class create mode 100644 02 Recursion/07 MazeMaster/MazeMaster.class create mode 100644 02 Recursion/07 MazeMaster/MazeMaster.doc create mode 100644 02 Recursion/07 MazeMaster/MazeMaster.java create mode 100644 02 Recursion/07 MazeMaster/maze1.txt create mode 100644 02 Recursion/07 MazeMaster/maze2.txt create mode 100644 02 Recursion/07 MazeMaster/maze3.txt create mode 100644 02 Recursion/07 MazeMaster/maze4.txt create mode 100644 02 Recursion/07 MazeMaster/mazeNoE.txt create mode 100644 02 Recursion/07 MazeMaster/mazeNoPath.txt create mode 100644 02 Recursion/07 MazeMaster/mazeNoS.txt create mode 100644 02 Recursion/08 WinnerWinner/Board.class create mode 100644 02 Recursion/08 WinnerWinner/Winner Winner.doc create mode 100644 02 Recursion/08 WinnerWinner/WinnerWinner.class create mode 100644 02 Recursion/08 WinnerWinner/WinnerWinner.java create mode 100644 02 Recursion/DS_Oct.pub create mode 100644 02 Recursion/Ethical Case Studies/Ethical Case Studies Directions.docx create mode 100644 02 Recursion/Ethical Case Studies/Ethical Case Studies.docx create mode 100644 02 Recursion/Practice-It Student Accounts.docx create mode 100644 02 Recursion/Practice-It and Recursion.docx create mode 100644 03 Sorting _ Big-O/01 Big-O _ Searches/Big-O Analysis.doc create mode 100644 03 Sorting _ Big-O/01 Big-O _ Searches/Big-O WS1.doc create mode 100644 03 Sorting _ Big-O/01 Big-O _ Searches/Big-O in Program.doc create mode 100644 03 Sorting _ Big-O/01 Big-O _ Searches/Search Linear and Binary.doc create mode 100644 03 Sorting _ Big-O/01 Big-O _ Searches/Searches.class create mode 100644 03 Sorting _ Big-O/01 Big-O _ Searches/Searches_Driver.class create mode 100644 03 Sorting _ Big-O/01 Big-O _ Searches/Searches_Driver.java create mode 100644 03 Sorting _ Big-O/01 Big-O _ Searches/declaration.txt create mode 100644 03 Sorting _ Big-O/02 Selection Sort/Selection Sort.doc create mode 100644 03 Sorting _ Big-O/02 Selection Sort/Selection.class create mode 100644 03 Sorting _ Big-O/02 Selection Sort/SelectionSort_Driver.class create mode 100644 03 Sorting _ Big-O/02 Selection Sort/SelectionSort_Driver.java create mode 100644 03 Sorting _ Big-O/02 Selection Sort/declaration.txt create mode 100644 03 Sorting _ Big-O/03 Insertion Sort/Insertion Sort.doc create mode 100644 03 Sorting _ Big-O/03 Insertion Sort/Insertion.class create mode 100644 03 Sorting _ Big-O/03 Insertion Sort/InsertionSort_Driver.class create mode 100644 03 Sorting _ Big-O/03 Insertion Sort/InsertionSort_Driver.java create mode 100644 03 Sorting _ Big-O/03 Insertion Sort/declaration.txt create mode 100644 03 Sorting _ Big-O/04 Merge Sort/Merge Sort Demo.docx create mode 100644 03 Sorting _ Big-O/04 Merge Sort/Merge Sort.docx create mode 100644 03 Sorting _ Big-O/04 Merge Sort/MergeSort.class create mode 100644 03 Sorting _ Big-O/04 Merge Sort/MergeSort_Driver.class create mode 100644 03 Sorting _ Big-O/04 Merge Sort/MergeSort_Driver.java create mode 100644 03 Sorting _ Big-O/04 Merge Sort/SelectionLowHigh.class create mode 100644 03 Sorting _ Big-O/04 Merge Sort/declaration.txt create mode 100644 03 Sorting _ Big-O/05 Quick Sort/QuickSort.class create mode 100644 03 Sorting _ Big-O/05 Quick Sort/QuickSort.docx create mode 100644 03 Sorting _ Big-O/05 Quick Sort/QuickSort_Demo.docx create mode 100644 03 Sorting _ Big-O/05 Quick Sort/QuickSort_Driver.class create mode 100644 03 Sorting _ Big-O/05 Quick Sort/QuickSort_Driver.java create mode 100644 03 Sorting _ Big-O/05 Quick Sort/declaration.txt create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Big-O Multiple Choice.doc create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Effect of Doubling.doc create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Insertion.class create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Know Thy Big-O.doc create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/MergeSort.class create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/QuickSort.class create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Selection.class create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Widget.class create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Widget.java create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Widgets.doc create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Widgets_Driver.class create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/Widgets_Driver.java create mode 100644 03 Sorting _ Big-O/06 Big-O _ Widgets/widgets.txt create mode 100644 03 Sorting _ Big-O/DS_Oct.pub create mode 100644 04 ListNode/01 ListLab1/ListLab1 support lecture.ppt create mode 100644 04 ListNode/01 ListLab1/ListLab1.class create mode 100644 04 ListNode/01 ListLab1/ListLab1.java create mode 100644 04 ListNode/01 ListLab1/ListLab1_ext.doc create mode 100644 04 ListNode/01 ListLab1/ListNode Class.doc create mode 100644 04 ListNode/01 ListLab1/ListNode Lecture.doc create mode 100644 04 ListNode/01 ListLab1/ListNode.class create mode 100644 04 ListNode/01 ListLab1/ListNode.java create mode 100644 04 ListNode/01a LinkedList Practice/Linked List Practice.doc create mode 100644 04 ListNode/01a LinkedList Practice/linked list 15-33-50.doc create mode 100644 04 ListNode/01a LinkedList Practice/linked list MC.doc create mode 100644 04 ListNode/02 ListLabReverse/02ReverseBuildNew.avi create mode 100644 04 ListNode/02 ListLabReverse/03iterateThreePointers.mp4 create mode 100644 04 ListNode/02 ListLabReverse/04recurTwoPointers.mp4 create mode 100644 04 ListNode/02 ListLabReverse/05recurPointersAppend.mp4 create mode 100644 04 ListNode/02 ListLabReverse/ListLabReverse.class create mode 100644 04 ListNode/02 ListLabReverse/ListLabReverse.doc create mode 100644 04 ListNode/02 ListLabReverse/ListLabReverse.java create mode 100644 04 ListNode/02 ListLabReverse/ListNode.class create mode 100644 04 ListNode/02 ListLabReverse/ListNode.java create mode 100644 04 ListNode/03 Josephus/J_names.txt create mode 100644 04 ListNode/03 Josephus/J_numbers.txt create mode 100644 04 ListNode/03 Josephus/Josephus.class create mode 100644 04 ListNode/03 Josephus/Josephus.docx create mode 100644 04 ListNode/03 Josephus/Josephus.java create mode 100644 04 ListNode/03 Josephus/Josephus.jgrasp_canvas.xml create mode 100644 04 ListNode/03 Josephus/ListNode.class create mode 100644 04 ListNode/03 Josephus/ListNode.java create mode 100644 04 ListNode/04 DLL/DLL.doc create mode 100644 04 ListNode/04 DLL/DLL.java create mode 100644 04 ListNode/04 DLL/DLL_Driver.java create mode 100644 04 ListNode/04 DLL/DLNode.java create mode 100644 04 ListNode/04 DLL/Doubly Linked Lists WS.doc create mode 100644 04 ListNode/05 Cards extra lab/Card.class create mode 100644 04 ListNode/05 Cards extra lab/CardDeck.class create mode 100644 04 ListNode/05 Cards extra lab/CardDriver.class create mode 100644 04 ListNode/05 Cards extra lab/CardDriver.java create mode 100644 04 ListNode/05 Cards extra lab/CardHand.class create mode 100644 04 ListNode/05 Cards extra lab/Cards.doc create mode 100644 04 ListNode/05 Cards extra lab/ListNode.class create mode 100644 04 ListNode/05 Cards extra lab/ListNode.java create mode 100644 04 ListNode/05 Cards extra lab/War.class create mode 100644 04 ListNode/06a CacheList/CacheList.pdf create mode 100644 05 Collections _ Generics/01 TJArrayList/Collections.doc create mode 100644 05 Collections _ Generics/01 TJArrayList/TJArrayList.class create mode 100644 05 Collections _ Generics/01 TJArrayList/TJArrayList.doc create mode 100644 05 Collections _ Generics/01 TJArrayList/TJArrayList.java create mode 100644 05 Collections _ Generics/01 TJArrayList/TJArrayList_Driver.class create mode 100644 05 Collections _ Generics/01 TJArrayList/TJArrayList_Driver.java create mode 100644 05 Collections _ Generics/01 TJArrayList/Widget.class create mode 100644 05 Collections _ Generics/01 TJArrayList/Widget.java create mode 100644 05 Collections _ Generics/02 SortingGenerically/Generic Types and Methods.docx create mode 100644 05 Collections _ Generics/02 SortingGenerically/SortingGenerically.java create mode 100644 05 Collections _ Generics/02 SortingGenerically/Widget.java create mode 100644 05 Collections _ Generics/02 SortingGenerically/strings.txt create mode 100644 05 Collections _ Generics/02 SortingGenerically/widgets.txt create mode 100644 05 Collections _ Generics/03 Collections Speed/Collections Speed.doc create mode 100644 05 Collections _ Generics/03 Collections Speed/CollectionsSpeed.class create mode 100644 05 Collections _ Generics/03 Collections Speed/CollectionsSpeed.java create mode 100644 05 Collections _ Generics/04 IteratorLab/Iterator Worksheet.doc create mode 100644 05 Collections _ Generics/04 IteratorLab/IteratorLab.class create mode 100644 05 Collections _ Generics/04 IteratorLab/IteratorLab.java create mode 100644 05 Collections _ Generics/05 IndexMaker/DocumentIndex.class create mode 100644 05 Collections _ Generics/05 IndexMaker/IndexEntry.class create mode 100644 05 Collections _ Generics/05 IndexMaker/IndexMaker.class create mode 100644 05 Collections _ Generics/05 IndexMaker/IndexMaker.doc create mode 100644 05 Collections _ Generics/05 IndexMaker/IndexMaker.java create mode 100644 05 Collections _ Generics/05 IndexMaker/fish.txt create mode 100644 05 Collections _ Generics/05 IndexMaker/fish1.txt create mode 100644 05 Collections _ Generics/05 IndexMaker/fish2.txt create mode 100644 05 Collections _ Generics/05 IndexMaker/fish3.txt create mode 100644 05 Collections _ Generics/05 IndexMaker/fishIndex.txt create mode 100644 05 Collections _ Generics/AP AB Quick Reference--2 col.doc create mode 100644 05 Collections _ Generics/DS_Dec.pub create mode 100644 06 Stacks _ Queues/01 ParenMatch/ParenMatch.class create mode 100644 06 Stacks _ Queues/01 ParenMatch/ParenMatch.java create mode 100644 06 Stacks _ Queues/01 ParenMatch/Parentheses Match.doc create mode 100644 06 Stacks _ Queues/01 ParenMatch/Stacks Queues Priority Queues.docx create mode 100644 06 Stacks _ Queues/02 Postfix/Postfix Expressions.doc create mode 100644 06 Stacks _ Queues/02 Postfix/Postfix.class create mode 100644 06 Stacks _ Queues/02 Postfix/Postfix.java create mode 100644 06 Stacks _ Queues/03 Infix/Infix Expressions.doc create mode 100644 06 Stacks _ Queues/03 Infix/Infix.class create mode 100644 06 Stacks _ Queues/03 Infix/Infix.java create mode 100644 06 Stacks _ Queues/03 Infix/Infix_Extension.class create mode 100644 06 Stacks _ Queues/03 Infix/Infix_Extension.java create mode 100644 06 Stacks _ Queues/03 Infix/Postfix.class create mode 100644 06 Stacks _ Queues/03 Infix/Postfix.java create mode 100644 06 Stacks _ Queues/04 Song Queue/Song Queue.doc create mode 100644 06 Stacks _ Queues/04 Song Queue/SongQueue.class create mode 100644 06 Stacks _ Queues/04 Song Queue/SongQueue.java create mode 100644 06 Stacks _ Queues/04 Song Queue/songs.txt create mode 100644 06 Stacks _ Queues/05-08 McRonald/Customer.class create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald.class create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald.doc create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald.java create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald1000.class create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald1000.java create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald3.class create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald3.java create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald5.class create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonald5.java create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonaldVIP.class create mode 100644 06 Stacks _ Queues/05-08 McRonald/McRonaldVIP.java create mode 100644 06 Stacks _ Queues/05-08 McRonald/ProbTest.class create mode 100644 06 Stacks _ Queues/05-08 McRonald/ProbTest.java create mode 100644 06 Stacks _ Queues/05-08 McRonald/Window.class create mode 100644 06 Stacks _ Queues/09 LunchRoom/Customer.class create mode 100644 06 Stacks _ Queues/09 LunchRoom/LunchRoom.class create mode 100644 06 Stacks _ Queues/09 LunchRoom/LunchRoom.java create mode 100644 06 Stacks _ Queues/09 LunchRoom/MyPriorityQueue.class create mode 100644 06 Stacks _ Queues/09 LunchRoom/MyPriorityQueue.java create mode 100644 06 Stacks _ Queues/09 LunchRoom/Priority Queues.doc create mode 100644 06 Stacks _ Queues/09 LunchRoom/PriorityQueueDemo.class create mode 100644 06 Stacks _ Queues/09 LunchRoom/PriorityQueueDemo.java create mode 100644 06 Stacks _ Queues/10 S, Q, PQ/Implementing S, Q, PQ.doc create mode 100644 06 Stacks _ Queues/11 MyPriorityQueue/MyPriorityQueue.class create mode 100644 06 Stacks _ Queues/11 MyPriorityQueue/MyPriorityQueue.java create mode 100644 06 Stacks _ Queues/12 Assembly Line/Assembly Line.doc create mode 100644 06 Stacks _ Queues/12 Assembly Line/AssemblyLine.class create mode 100644 06 Stacks _ Queues/12 Assembly Line/AssemblyLine_Driver.class create mode 100644 06 Stacks _ Queues/12 Assembly Line/AssemblyLine_Driver.java create mode 100644 06 Stacks _ Queues/12 Assembly Line/Disk.class create mode 100644 06 Stacks _ Queues/12 Assembly Line/Pyramid.class create mode 100644 06 Stacks _ Queues/AP AB Quick Reference--2 col.doc create mode 100644 06 Stacks _ Queues/DS_Jan.pdf create mode 100644 07 Trees/01 TreeLab/TreeLab.class create mode 100644 07 Trees/01 TreeLab/TreeLab.java create mode 100644 07 Trees/01 TreeLab/TreeNode.class create mode 100644 07 Trees/01 TreeLab/TreeNode.java create mode 100644 07 Trees/01 TreeLab/Trees Intro.doc create mode 100644 07 Trees/01 TreeLab/Trees Worksheet.doc create mode 100644 07 Trees/01 TreeLab/Trees resource.ppt create mode 100644 07 Trees/01a Practice_It/Practice_It _ Trees.doc create mode 100644 07 Trees/02 BXT/BXT.class create mode 100644 07 Trees/02 BXT/BXT.docx create mode 100644 07 Trees/02 BXT/BXT.java create mode 100644 07 Trees/02 BXT/BXT_Driver.class create mode 100644 07 Trees/02 BXT/BXT_Driver.java create mode 100644 07 Trees/02 BXT/TreeNode.class create mode 100644 07 Trees/02 BXT/TreeNode.java create mode 100644 07 Trees/03 BST/BST.class create mode 100644 07 Trees/03 BST/BST.java create mode 100644 07 Trees/03 BST/BST_Driver.class create mode 100644 07 Trees/03 BST/BST_Driver.java create mode 100644 07 Trees/03 BST/BSTinterface.class create mode 100644 07 Trees/03 BST/Binary Search Tree.doc create mode 100644 07 Trees/03 BST/TreeNode.class create mode 100644 07 Trees/03 BST/TreeNode.java create mode 100644 07 Trees/04 BST Remove/BST Remove.doc create mode 100644 07 Trees/04 BST Remove/BST.class create mode 100644 07 Trees/04 BST Remove/BST.java create mode 100644 07 Trees/04 BST Remove/BST_Remove_Driver.class create mode 100644 07 Trees/04 BST Remove/BST_Remove_Driver.java create mode 100644 07 Trees/04 BST Remove/BSTinterface.class create mode 100644 07 Trees/04 BST Remove/TreeNode.class create mode 100644 07 Trees/04 BST Remove/TreeNode.java create mode 100644 07 Trees/04 BST Remove/chapt10b.ppt create mode 100644 07 Trees/05 BST self-balancing/AVL tree visualization.docx create mode 100644 07 Trees/05 BST self-balancing/AVL-Tree-Rotations.pdf create mode 100644 07 Trees/05 BST self-balancing/AVLTrees.pdf create mode 100644 07 Trees/05 BST self-balancing/BST.class create mode 100644 07 Trees/05 BST self-balancing/BST.java create mode 100644 07 Trees/05 BST self-balancing/BST_AVL_driver.class create mode 100644 07 Trees/05 BST self-balancing/BST_AVL_driver.java create mode 100644 07 Trees/05 BST self-balancing/BST_self_balancing_driver.class create mode 100644 07 Trees/05 BST self-balancing/BST_self_balancing_driver.java create mode 100644 07 Trees/05 BST self-balancing/BSTinterface.class create mode 100644 07 Trees/05 BST self-balancing/Self-Balancing BST.doc create mode 100644 07 Trees/05 BST self-balancing/TreeNode.class create mode 100644 07 Trees/05 BST self-balancing/TreeNode.java create mode 100644 07 Trees/05 BST self-balancing/balancing_search_trees.pdf create mode 100644 07 Trees/06 BST generic/BST_Generic.class create mode 100644 07 Trees/06 BST generic/BST_Generic.java create mode 100644 07 Trees/06 BST generic/BST_Generic_Driver.class create mode 100644 07 Trees/06 BST generic/BST_Generic_Driver.java create mode 100644 07 Trees/06 BST generic/BSTinterface.class create mode 100644 07 Trees/06 BST generic/Generic BST.docx create mode 100644 07 Trees/06 BST generic/TreeNode.class create mode 100644 07 Trees/06 BST generic/Widget.class create mode 100644 07 Trees/06 BST generic/Widget.java create mode 100644 07 Trees/06 BST generic/widgets.txt create mode 100644 07 Trees/07 TreePriorityQueue/Item.class create mode 100644 07 Trees/07 TreePriorityQueue/TreeNode.class create mode 100644 07 Trees/07 TreePriorityQueue/TreeNode.java create mode 100644 07 Trees/07 TreePriorityQueue/TreePriorityQueue.class create mode 100644 07 Trees/07 TreePriorityQueue/TreePriorityQueue.doc create mode 100644 07 Trees/07 TreePriorityQueue/TreePriorityQueue_Driver.class create mode 100644 07 Trees/07 TreePriorityQueue/TreePriorityQueue_Driver.java create mode 100644 07 Trees/07 TreePriorityQueue/widgets.txt create mode 100644 07 Trees/08 SpellCheckTree/SpellCheckTree.doc create mode 100644 07 Trees/08 SpellCheckTree/declaration.txt create mode 100644 07 Trees/09 Stern-Brocot Tree/Stern Brocot.doc create mode 100644 08 Hashing Sets _ Maps/01 Hashing/Hashing.class create mode 100644 08 Hashing Sets _ Maps/01 Hashing/Hashing.doc create mode 100644 08 Hashing Sets _ Maps/01 Hashing/Hashing.java create mode 100644 08 Hashing Sets _ Maps/01 Hashing/Hashtable.class create mode 100644 08 Hashing Sets _ Maps/01 Hashing/HashtableChaining.class create mode 100644 08 Hashing Sets _ Maps/01 Hashing/HashtableLinearProbe.class create mode 100644 08 Hashing Sets _ Maps/01 Hashing/HashtableRehash.class create mode 100644 08 Hashing Sets _ Maps/01 Hashing/Video on Hashing.docx create mode 100644 08 Hashing Sets _ Maps/02 Sets/SetPractice.class create mode 100644 08 Hashing Sets _ Maps/02 Sets/SetPractice.java create mode 100644 08 Hashing Sets _ Maps/02 Sets/Sets of Letters.doc create mode 100644 08 Hashing Sets _ Maps/02 Sets/Sets.doc create mode 100644 08 Hashing Sets _ Maps/02 Sets/SetsOfLetters.class create mode 100644 08 Hashing Sets _ Maps/02 Sets/SetsOfLetters.java create mode 100644 08 Hashing Sets _ Maps/02 Sets/declarationLast.txt create mode 100644 08 Hashing Sets _ Maps/03 Maps/DocumentIndex.class create mode 100644 08 Hashing Sets _ Maps/03 Maps/IndexMakerMap.class create mode 100644 08 Hashing Sets _ Maps/03 Maps/IndexMakerMap.doc create mode 100644 08 Hashing Sets _ Maps/03 Maps/IndexMakerMap.java create mode 100644 08 Hashing Sets _ Maps/03 Maps/MapPractice.java create mode 100644 08 Hashing Sets _ Maps/03 Maps/Maps.doc create mode 100644 08 Hashing Sets _ Maps/03 Maps/fish.txt create mode 100644 08 Hashing Sets _ Maps/03 Maps/fish1.txt create mode 100644 08 Hashing Sets _ Maps/03 Maps/fish2.txt create mode 100644 08 Hashing Sets _ Maps/03 Maps/fish3.txt create mode 100644 08 Hashing Sets _ Maps/03 Maps/fish4.txt create mode 100644 08 Hashing Sets _ Maps/03 Maps/fishIndex.txt create mode 100644 08 Hashing Sets _ Maps/04 Dictionary/Dictionary.class create mode 100644 08 Hashing Sets _ Maps/04 Dictionary/Dictionary.doc create mode 100644 08 Hashing Sets _ Maps/04 Dictionary/Dictionary.java create mode 100644 08 Hashing Sets _ Maps/04 Dictionary/dictionaryOutput.txt create mode 100644 08 Hashing Sets _ Maps/04 Dictionary/spanglish.txt create mode 100644 08 Hashing Sets _ Maps/05 Fib/Fib.class create mode 100644 08 Hashing Sets _ Maps/05 Fib/Fib.java create mode 100644 08 Hashing Sets _ Maps/05 Fib/Fib1.class create mode 100644 08 Hashing Sets _ Maps/05 Fib/Fib2.class create mode 100644 08 Hashing Sets _ Maps/05 Fib/Fib3.class create mode 100644 08 Hashing Sets _ Maps/05 Fib/Fib4.class create mode 100644 08 Hashing Sets _ Maps/05 Fib/Fibber.class create mode 100644 08 Hashing Sets _ Maps/05 Fib/Fibonacci HashMap.doc create mode 100644 08 Hashing Sets _ Maps/06 HailstoneMap/Hailstone HashMaps.doc create mode 100644 08 Hashing Sets _ Maps/06 HailstoneMap/HailstoneMap.class create mode 100644 08 Hashing Sets _ Maps/06 HailstoneMap/HailstoneMap_Driver.class create mode 100644 08 Hashing Sets _ Maps/06 HailstoneMap/HailstoneMap_Driver.java create mode 100644 08 Hashing Sets _ Maps/07 Polynomial/Polynomial extensions.doc create mode 100644 08 Hashing Sets _ Maps/07 Polynomial/Polynomial.class create mode 100644 08 Hashing Sets _ Maps/07 Polynomial/Polynomial.doc create mode 100644 08 Hashing Sets _ Maps/07 Polynomial/PolynomialInterface.class create mode 100644 08 Hashing Sets _ Maps/07 Polynomial/Polynomial_Driver.class create mode 100644 08 Hashing Sets _ Maps/07 Polynomial/Polynomial_Driver.java create mode 100644 08 Hashing Sets _ Maps/08 HashingAWidget/HashingAWidget.class create mode 100644 08 Hashing Sets _ Maps/08 HashingAWidget/HashingAWidget.doc create mode 100644 08 Hashing Sets _ Maps/08 HashingAWidget/HashingAWidget.java create mode 100644 08 Hashing Sets _ Maps/08 HashingAWidget/HashingQuestions.doc create mode 100644 08 Hashing Sets _ Maps/08 HashingAWidget/Widget.class create mode 100644 08 Hashing Sets _ Maps/09a Cities and Postal Codes/Cities and Postal Codes.doc create mode 100644 08 Hashing Sets _ Maps/Practice_It Sets_Maps.docx create mode 100644 09 Heaps/01 Heaps, HeapSort/HeapSort.doc create mode 100644 09 Heaps/01 Heaps, HeapSort/HeapSort.java create mode 100644 09 Heaps/01 Heaps, HeapSort/Heaps.doc create mode 100644 09 Heaps/01 Heaps, HeapSort/chapt11.ppt create mode 100644 09 Heaps/02 HeapPriorityQueue/HeapPriorityQueue.doc create mode 100644 09 Heaps/02 HeapPriorityQueue/HeapPriorityQueue.java create mode 100644 09 Heaps/02 HeapPriorityQueue/HeapPriorityQueue_Driver.java create mode 100644 09 Heaps/02 HeapPriorityQueue/LunchRoom.java create mode 100644 11 Huffman/01_02 Huffman Coding/Huffman Coding.doc create mode 100644 11 Huffman/01_02 Huffman Coding/Huffman.java create mode 100644 11 Huffman/01_02 Huffman Coding/TreeNode.class create mode 100644 11 Huffman/01_02 Huffman Coding/TreeNode.java create mode 100644 11 Huffman/01_02 Huffman Coding/deHuffman.doc create mode 100644 11 Huffman/01_02 Huffman Coding/deHuffman.java create mode 100644 11 Huffman/01_02 Huffman Coding/message.fault.txt create mode 100644 11 Huffman/01_02 Huffman Coding/message.laughter.txt create mode 100644 11 Huffman/01_02 Huffman Coding/message.maips.txt create mode 100644 11 Huffman/01_02 Huffman Coding/message.money.txt create mode 100644 11 Huffman/01_02 Huffman Coding/message.tj.txt create mode 100644 11 Huffman/01_02 Huffman Coding/message.vegetables.txt create mode 100644 11 Huffman/01_02 Huffman Coding/scheme.fault.txt create mode 100644 11 Huffman/01_02 Huffman Coding/scheme.laughter.txt create mode 100644 11 Huffman/01_02 Huffman Coding/scheme.maips.txt create mode 100644 11 Huffman/01_02 Huffman Coding/scheme.money.txt create mode 100644 11 Huffman/01_02 Huffman Coding/scheme.tj.txt create mode 100644 11 Huffman/01_02 Huffman Coding/scheme.vegetables.txt create mode 100644 11 Huffman/03_04 HuffmanPix--student/Huffman Coding with Images.doc create mode 100644 11 Huffman/03_04 HuffmanPix--student/HuffmanPix.java create mode 100644 11 Huffman/03_04 HuffmanPix--student/TreeNode.java create mode 100644 11 Huffman/03_04 HuffmanPix--student/caterpillar.gif create mode 100644 11 Huffman/03_04 HuffmanPix--student/caterpillar.jpg create mode 100644 11 Huffman/03_04 HuffmanPix--student/caterpillar.png create mode 100644 11 Huffman/03_04 HuffmanPix--student/deHuffmanPix.java create mode 100644 11 Huffman/03_04 HuffmanPix--student/smiley.bmp create mode 100644 11 Huffman/03_04 HuffmanPix--student/smiley.gif create mode 100644 11 Huffman/03_04 HuffmanPix--student/smiley.jpg create mode 100644 11 Huffman/03_04 HuffmanPix--student/smiley.png create mode 100644 12 Graphs/00-02 AdjMat/AdjMat.class create mode 100644 12 Graphs/00-02 AdjMat/AdjMat.java create mode 100644 12 Graphs/00-02 AdjMat/AdjMat_0_Driver.java create mode 100644 12 Graphs/00-02 AdjMat/AdjacencyMatrix.class create mode 100644 12 Graphs/00-02 AdjMat/Floyd.class create mode 100644 12 Graphs/00-02 AdjMat/FloydDriver.java create mode 100644 12 Graphs/00-02 AdjMat/Graphs0--AdjMat.doc create mode 100644 12 Graphs/00-02 AdjMat/Graphs1--Warshall.doc create mode 100644 12 Graphs/00-02 AdjMat/Graphs2--Floyd.doc create mode 100644 12 Graphs/00-02 AdjMat/Warshall.class create mode 100644 12 Graphs/00-02 AdjMat/WarshallDriver.java create mode 100644 12 Graphs/00-02 AdjMat/cities.txt create mode 100644 12 Graphs/00-02 AdjMat/citymatrix.txt create mode 100644 12 Graphs/00-02 AdjMat/citymatrixweighted.txt create mode 100644 12 Graphs/03-05 AdjList/AdjList.java create mode 100644 12 Graphs/03-05 AdjList/AdjList_3_Driver.java create mode 100644 12 Graphs/03-05 AdjList/AdjList_5_Driver.java create mode 100644 12 Graphs/03-05 AdjList/DFS_BFS_Driver.java create mode 100644 12 Graphs/03-05 AdjList/Graph Exercises.doc create mode 100644 12 Graphs/03-05 AdjList/Graphs3--EdgeList.doc create mode 100644 12 Graphs/03-05 AdjList/Graphs4--DFS-BFS.doc create mode 100644 12 Graphs/03-05 AdjList/Graphs5--EdgeListCities.doc create mode 100644 12 Graphs/03-05 AdjList/cityEdgeList.txt create mode 100644 12 Graphs/06-07 Dijkstra_s Algorithm/AdjListWeighted.java create mode 100644 12 Graphs/06-07 Dijkstra_s Algorithm/Dijkstra_6_Driver.java create mode 100644 12 Graphs/06-07 Dijkstra_s Algorithm/Dijkstra_7_Driver.java create mode 100644 12 Graphs/06-07 Dijkstra_s Algorithm/Graphs6--Dijkstra.doc create mode 100644 12 Graphs/06-07 Dijkstra_s Algorithm/Graphs7--Dijkstra and Cities.doc create mode 100644 12 Graphs/06-07 Dijkstra_s Algorithm/cities.txt create mode 100644 12 Graphs/06-07 Dijkstra_s Algorithm/cityEdgeListWeighted.txt create mode 100644 12 Graphs/11 HTH State Graphs/Graphs11--HTH.doc create mode 100644 12 Graphs/11 HTH State Graphs/HTH_Driver.java create mode 100644 12 Graphs/25 TeamBuilder/TeamBuilder.doc create mode 100644 12 Graphs/25 TeamBuilder/TeamBuilder.java create mode 100644 12 Graphs/25 TeamBuilder/tb0.txt create mode 100644 12 Graphs/25 TeamBuilder/tb1.txt create mode 100644 12 Graphs/25 TeamBuilder/tb2.txt create mode 100644 12 Graphs/25 TeamBuilder/tb3.txt create mode 100644 12 Graphs/45 Jugs/Jugs.doc create mode 100644 12 Graphs/45 Jugs/Jugs.java create mode 100644 12 Graphs/45 Jugs/jugs1.txt create mode 100644 12 Graphs/45 Jugs/jugs2.txt create mode 100644 12 Graphs/65 Island Ferries/IslandFerries.doc create mode 100644 12 Graphs/65 Island Ferries/IslandFerries.java create mode 100644 12 Graphs/85 RoboCourier/RoboCourier.doc create mode 100644 12 Graphs/85 RoboCourier/RoboCourier_Driver.java create mode 100644 12 Graphs/85 RoboCourier/rc0.txt create mode 100644 12 Graphs/85 RoboCourier/rc1.txt create mode 100644 12 Graphs/85 RoboCourier/rc2.txt create mode 100644 12 Graphs/85 RoboCourier/rc3.txt create mode 100644 12 Graphs/85 RoboCourier/rc4.txt create mode 100644 12 Graphs/85 RoboCourier/rc5.txt diff --git a/01 Strings/01 Modes/First Day Warm Up.doc b/01 Strings/01 Modes/First Day Warm Up.doc new file mode 100644 index 0000000000000000000000000000000000000000..80f4841e5d388eef3832a64aaea7a77357926b5d GIT binary patch literal 25088 zcmeHP3tWup_kWt2nr@nsbiZh2)Y;Q%yBYGnpo`Sh=fqZPsN&OTucc zlCbWQcICQ~TWOI?yQ~nFv@Y{M=bd@UFk61V{eOP@`|Uh^zVCT%=RD^&Xhfmgqo5qssJm zYeEa0WgzpdkvSlqt5?2g;S@D5udr%>yl`d0uPc^!=%lhjJr8P=ggAzO511$~wCg z`qOrz{mo_e53h4NoX3ul3UvM)u!}9^xBwse9UW>RjV?40?CJs({SQMw$WH}oj7$(V zK&5R!F>MZ%ZXe73ia@tR%c7qbwu8MsZD*R&&x=mel;&4O>3YhP_D7nk;-~ZJ_UW`L zs@x8prtM6pRZ&_l{T!8POXbS-|Ee_oyj1C}DxcQ(W2q{6*f(>)pyAd*H-kju8GB{!#Xb$Fa-{}Tz-8dNk_NA)fIwIx)W`bI>PONc4Gj~0W7emIUoY?DS!iy zDKtongaL*FCIxC}B?jthi2%s}DFCXFVer@<$rwNlVAYr!#lZf;Fd`-rl1O+&2z9XE z(d26KxSAZ|4@2b8AObQ8C6gCqMo?~ZnJD*d2q1o($FdD1fEXxdfoxc-3?O_G2l7*( z1u1A725|`>p1LNH1jri%T8N+&!w4cEPh>lR(o$Ts4M;d}M1urA)P7fIYtsH1xT@PF zZK9#4DU?T;ki)}l2GIwZc4P|YcUdV=qR`AmTZfXvAw!|PWU6h3Vr4LZ?DW+jkMTZW z)ekMjVYGQu??ZQhVvUFq3=t;+61f`CW>~PMmMK^mZE8dAUNb7e1#xS5Vz{&&=`R*Z z`6B70@EJ+`~Id&U10vkn}YpHqZPeDSl|N_tGp$r>sqte|RxYxlikw_A0H-nUvu_o8L=c z=5_0Y|K&Q(?~6K&@qSR(l+C@FwQIkR$FOZd{;c^sk9>KdKEG+u39|uCC--%G>a@ur zeZ!ftN5h*eitbG0yPtE0|IU6)>8b7`#b;MJwYOJ{jZ zJUy&bW*YU>=T6)6r{_e@0gK3Fno9QCd}+(CN5D=VU`l*~lO%j$va=Ij7kqJca+!<4 z;)e?l%|ADLcx9P+mub$Mv;3Vm&L%hP<|No!)mYuD2`$&wJHT47>0#ry-meQYn{KT5 zm1DMMt9IEP=)%$av$;ifHJSdpnoi#E=z**)oC*tw1U&bV4_4*cF_rHRp! z>d=ED3J1iVJHf6D8d&2N&7HGl+0;pwJ7ur4sP!0n{;AoB%brn%U*w;V?JRRSy)LwL z&UVMTfm$NZ6+;ELqc`L`-x_%+E1$phLdS~Tdz&u3f?Ik2MyJeJWi}sfFarQ33$qF2UY``(znVR}}zXUqY+fzidM3J*LZ{yCO@<++vXYcAK_ zn(z73b<>M$gAKDk)%?V+&)Z%fay)tX z?9Lan78dNj%DJ@L;iAn$$Ey?faVL9c4jz5ye53u%f%hD`>M^`Nth~!rfBSss<2S+T zK7Oy8sV%<+S5&)xY^b=#!?eVxYC5cB#dMoysgsgXwPS6M5UU?Vi#rO^S5<}O`Bn~@ zZFS{Vnnu}v-r{yuiHmuWbIqzYzi_MWBkWMIy=d@=FMk{}@k@`YjDr4LlcrlQWF0$w z``zUSW<^4~oqH@&sDr+@j$k@)D`A#LLqmTK#ye4aJ3n$PGEed$?R=#eiL z-9G%7T{faLpys>P>-X%MnxeZsJ~Mk<(f7Lw#h+I17y2a?2~#tY!d(g)tqL3>nX@&c zCU?Ai@9F+SpZJ|6MGxnH6S1o2nL%?3uALC9@_jaS-LyTIwz-d=mHzr<&gp_-Th0sl z#bffcV>?+TKi_?2a!hh{sa4jGp1(GH{!`qZ1HaW89=|#I*M?UP1s4}(dgd-UcRQ+0 zL5C|3<1gqR&)#`I=(**Q%abi;Et;2LmlwR#{7FEMjNRtfZ{-;g!`LzBw7wMt9jjVw z_uytK*Y1)*L!Z*k7JYA@+Gle{f5@bY@ZE=uMjBYSZfyLmsd4){pMm8@>pJ*6zx(_~ z*)1KPaRYwZnwYboZj^J$tNOF$oi_Tc`}E19x@pC5MDcF?HXsFylha@IJNot~c8E@ygPmBs_fPkqLRkK+w~ z(tY&|uOUY#{}Mgo*!`GUV}3l4*|xmo&=9?pUPi%#ABh62T^r4ZnYI}+z_c>?Wm=Zr z{Rbm{t4jImk9ooUBknj2>@d_Jr01s2-PXiqelIZibaljCgV)o9J7?;oczsv-Nv8Gw zz~g$SyD#Wu@=NxkKI`nPM=!I!nZ45RQ_b)4gN~PmKj)7R?cN{_G#`8@EpY7aUsjRX z!NabXhVAHn_3){0c4V4nbPPXtaBgqs&U>Ewc^;iQZefQCZuc0UEFE^9`TeP*nAht> zi|$Ns&>UvA|3#ZFOAmx@*WM$zv&2oG?cK|`-Qk17_O>mVZ*LV79b{;lvL&M2t?9tg zGj`#kQ#Wqvd9FCwev(gN){Dd*)oY7pj;cHTEPcQs*7V|j)AzCN)J*z%PXo8Qa~Ata zoc3pjRv~cE73#)wl&YqhD2fNgJ`*qTO z+9&xY_eXoj&ufRr_jE~0+HfS!&}97VfKhHslJr7mUOgW$VD+*#U4r&4D9f`b+*I(W z;<>}j3&P+0mlRl=d^e$E)s1%EIqTi^dJfuJVV#gX$YITqv8xNlpI9 z_Ut!4V>)ng%ZqP0{1-IZf_Uyy~L{F%qZW+xT;jWBTpy z+FIO5i|t?e$=MhAqMQ}wCv$Aa8CeTjx6C zeosuo`mSE;Xy2_{aK-SNDehmb?f7`=m1oD2hAk@hVr~zCyrKSQ(rQ~c;kleZJ(!ZNcXGq4WCr}xlSdsvdz-msm1d> zvfb>bT-laV8F9+a*C4 zqZM90$IZ*L&&Jj{kDVnovOdJTZqRk;khVh`z7C4Ivq7h;5vQrg;GNQ2&hX`W|HEu} zE^GbwP+|q2?QTlnHu-3T`r0-7JS#>gA$mt$OcylHo6Zu8&+lh1>w0xbMZpEl1-IP| zJ$$&s>+c&DIz{80&xc=tW zH5ff$BV5&R6{@jW0 z_u+ZlCP<}8eVm<>V_@*eOLh_`@kLMuTXcy$DI_KF&ao2SbP${2x(~HjOMb~ko zbKK}0cRI(N&hemgJZw1$LV;)s+z}F6*ku$3$}{Mgt#g00-UR@MIxWSLpEZJM7Vd0O zN0xx%$~vae@Hzk^SkUkS3ONn9(!qc^F?a!i$MFW3_9Y!3!Sonp!iC64T3Q%ETW|eE=PPcHK?|Y8<2r22AT#~3|Iol1QY>w15N_Y0WJY_ zV16NomV!binF5#!$OlvcuPq2`zs-bbu!^>8M`+O?m+`BjrCfSsEuc**o4N zO1VU4#3q}^iEVnmzGnKNGP#9mJA-vR~t*KMLq#yj8L!Q0`hz)YH*= z^NeUtLgc);OgV2ZQ<+x-79Frf#ynN+Cb5hc43$k>ki?1t+Pqzcf|sPJ;`P;+x9h8~ z+^(jAS4$-?yN#Te-A0*Lt3{n_*>at0*~&UIThzIzt-Rf$w#w~lx2SWPnVdJxOqo}w zMV-SeZF{W#9PFyRS+08(vy+pY+l~pA_3s-y%haq4MQp>ByN_I?9gRa)(i+ zD|h57U1djZxx>gekhhy}pxkcD9Y(5=oHx}-nYZN*BhW;ybD)W`&MkKs=I!L|nzvJK zx8)AwPJ21;o%YJSEq54uE#*4zwN%y_I}BKmranYeFQK^L$ESH3KVr?(cw+HwKne1I zGZq{^7{O^j3xE|sRlK#evfUbfZ%GyoUU2Ba0@ML8U>c9T;ISF=>5~Z_v61gE$VY1U zS;v6gj?7mBJRCp#2n;x&!8n%Ec?^0Cg#$e(VZ+D_24z@92Sybl7`KRE(_lJWF&CAg zgS-~j#_zCVAlEF8L&Cuwu}feuv^AMpOopbGtUIaoOC?8egoS}>2xvHrToPf^A(`N| z10UMsz{Z4_+AtA8xjV>V5GGTDp`oMAV9Ezf)UXt#P$3PkBgqWli3U#GX6fZbwXUzN z#lS$d?*D<-{a}kk02?337=xFLP7)*wiN*;e`BZcDQ!Q zwX$u*7tBC~^@@l;)t&%!#kL9YlUquQ36|2P`MA_z?>#=eL%GHr5(09h)Y#7!+{2Z% z#GEwX5eE4;(&XfrE$sm)LX#Q~cY>JQ2~ZIj0aAVTyScQkHkyPQW7BDrq7JRKKrS2G5=&%*vm-pw08$7cY2n8Di$>e&C11zy8vNgF;O z$^l=O+J);MH-#p!zgxy44&8QEvXK)(;KVzo>=*Cq5 z98f$5pd)E1WUzt4dIPZr3acXoH?7$~9f7t5>IM`w!xs`4B+LN=1VUJiiI<8+j+_vl z1QxD1Lm`_gN7=)0#YyNCE0!jTA%Yl*I9VJg<%Gt?31ax1(PBv~Ap{}#sal>wEhR|h{En8pu^{8fU8I;bt6wt(6KY73|>ptgY8 z0%{AWEugl5+5&0|s4egxvcR9s{}~t0T+DH@VlRgucRDyW72^CK=k7Sq#(8c60O#$v z4uES|*#KNR$_2nb1E99q+XF2E;NsR^0M74^0C0YP9AE~h0N|QJ6#!+|0h-VIIglR2 z6G-BCsT_ZCiby(x6DI#H`N)_Au~?W4<;~~b^c?)WA|F>7=*2Zvv?C~ndmd;B<`ho7ob|EUz`^f>Rw z{dD@sKFYx#7vn#-#A!9|k8=Pv09yc-bAfgNbOm$+*a7ST-2qts3eZCl$23A6{yhue zQ9>~sCgPBRaC}G#hv#O1gAmlav{Avm9 z<2yv#;LmHnEye$vjDZOUGqF|t{}*WcA<%jpr4!~z700^dbw6~4bKBJE9ej6Nd;joL z`8NkdneW~C$LZsxu>Z&0f9GcHYrqe7@Gxr<35BDZld?Yl`No<;4Xl*BP%B60aIPU$DV#gs#)0(tWxAr!5>q~HK z)bfbJ6XHLhg47p;06|(o)gQn!5-+^+20}bi^}?C4l|Wk|+cV$HeBU?cocU(_)3YBQ z0eA~nEc9X8LN7A1IU2+<91q}xg_AgC;dhPF zH32i5W7OId!>ew&CeR;S&fauCaK|fdZDo9+*(ldmreu0?i@zEAxs4SD_PxSQz-YRa z${hjUGChr|Oig%et*SuxLenkY%DJlwfQexfdjxujtk|l!O;6zYU5mhQuN1)>>7`VYM#RDwWq(D{?!vOjWFfdaF_N&XlFl zmg10<^4Zu9$Hoy%+K3@;;$0i_SfCGa4hIzh6N@%3fLV6DsQ8Iixl-~PHZI~4)eHuu zRj@IRgErp7vW-JXk=(G2%UF_G9AfH77~aa3zjo6rQn7zcE!{QOnfOaC9a_vk_Nw^*@eefX z?OGJr9(y@4Ga3pTcJsRQ@zMc)&=(HdevZc33-(6hKEyXPeAv-(0(9)8ZMPjTfI*Ie z7(%2SEIfJ`oclf;erOdmEnm?2Gs0HB;1A>rrZfVa3H!q)TT^GF#=)?krX`oUq*K_I z<8C?bkxfX?XGb2u$DfuPrJ-fCl5Qj((0& zPW%Y7a329j-$1a}+CUcr9>C^k1Ksphkv~hanj)J*H|+oxN$wIXTtOFH(k^noiXJrC ze~1u1LKvT58@^)y9rcvrWT@wL>KVmr6ysy+*|sPOc43$vi_EnfdnnlzX5UN8$ISEC z#|RCt(}R)EnZz)$-^2la1yAHL`kufNkC7xQUX_mIKF0VNb3X9^J!x%P%S00trEe$^ zO@2mdKC!M*mp`;jPoUOEEft*(gu*z_n zzORvs$rpQ+mX9lOjM36m?j-lol`1>oe}!Bw4^XQXmbzV_l_QW85iIV^P5tH zB9!9lw36X3iZIK{*_0tBRY>`@lNvvFpCHRgUWX|vlcoyOWRSsO9Hn)PpA61$K1+_WMlKVv&U$IA*EVdt0??Wp$k^aHY%km=qW-%{0*lq z7@x(qU@T&dA7Gc3)~6$~G`1%q$;43d3mB0!>*wC{-#OZ1Kd9<0%iVKiKg(An&(|Zz zI+;`KhM7+1J(6|rlZmOr9`-)YOmI%9)9iw#5Qf`$_y^Fz^C^R6SV~I|Ni_SmE-+!p z8yw;dRu?zCE{N_|I&5HDyWP6PZI~BW3`;E23oNROER#!=si0u?a~B_vO2U*6UP_fT T6u2OKPvE0^`?)lwu&4h44=If6 literal 0 HcmV?d00001 diff --git a/01 Strings/01 Modes/Modes.doc b/01 Strings/01 Modes/Modes.doc new file mode 100644 index 0000000000000000000000000000000000000000..1b150d9e33273c72f171035cc2c702ba781ef069 GIT binary patch literal 37376 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 PV$%>o+w}h5O#=T9s)Y^s literal 0 HcmV?d00001 diff --git a/01 Strings/01 Modes/Modes.java b/01 Strings/01 Modes/Modes.java new file mode 100644 index 0000000..6992f9b --- /dev/null +++ b/01 Strings/01 Modes/Modes.java @@ -0,0 +1,90 @@ +// Name: Rushil Umaretiya +// Date: 08/26/19 + +public class Modes +{ + public static void main (String[] args) + { + int[] tally = {0,0,10,5,10,0,7,1,0,6,0,10,3,0,0,1}; + display(tally); + int[] modes = calculateModes(tally); + display(modes); + int sum = 0; + for(int k = 0; k < tally.length; k++) + sum += tally[k]; + System.out.println("kth \tindex"); + for(int k = 1; k <= sum; k++) + System.out.println(k + "\t\t" + kthDataValue(tally, k)); +} + + /** + * precondition: tally.length > 0 + * postcondition: returns an int array that contains the modes(s); + * the array's length equals the number of modes. + */ + public static int[] calculateModes(int[] tally) + { + int maxValue = findMax(tally); + int modeCount = 0; + for (int x = 0; x 0 + * 0 < k <= total number of values in data collection + * postcondition: returns the kth value in the data collection + * represented by tally + */ + public static int kthDataValue(int[] tally, int k) + { + int dataLength = 0; + for (int x = 0; x 0 + * postcondition: returns the maximal value in nums + */ + public static int findMax(int[] nums) + { + int pos = 0; + for(int k = 1; k < nums.length; k++) + if(nums[k] > nums[pos]) + pos = k; + return nums[pos]; + } + + public static void display(int[] args) + { + for(int k = 0; k < args.length; k++) + System.out.print(args[k] + " "); + System.out.println(); + System.out.println(); + } +} diff --git a/01 Strings/02 SmartCard/SmartCard.class b/01 Strings/02 SmartCard/SmartCard.class new file mode 100644 index 0000000000000000000000000000000000000000..75dd1207f8ab5696fcaca8a99f4db89d0257a3cb GIT binary patch literal 2338 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 balance) { + System.out.println("Insufficient funds to exit. Please add more money."); + return; + } + + isBoarded = false; + balance -= cost; + System.out.printf("From %s to %s costs %s. SmartCard has %s%n", stationBoarded.getName(), s.getName(), df.format(cost), df.format(balance)); + stationBoarded = null; + } + + boolean isBoarded() { + return isBoarded; +` } + + //the next 3 methods are for use ONLY by Grade-It + //these accessor methods only return your private data + //they do not make any changes to your data + double getMoneyRemaining() + { + //enter your code here and replace the return with yours + return balance; + } + + Station getBoardedAt() + { + //enter your code here and replace the return with yours + return stationBoarded; + } + + boolean getIsOnBoard() + { + //enter your code here and replace the return with yours + return isBoarded; + } +} + +//Note Station is not a public class. Why? +class Station +{ + private int zone; + private String name; + + public Station(String n, int z) { + name = n; + zone = z; + } + + String getName() { + return name; + } + + int getZone() { + return zone; + } + + void setName(String n) { + name = n; + } + + void setZone(int z) { + zone = z; + } + + public String toString() { + return String.format("Name: %s Zone: %d", name, zone); + } +} + +/******************* Sample Run ************ + + Boarded at Center City. SmartCard has $20.00 + From Center City to Suburb costs $2.75. SmartCard has $17.25 + Error: did not board?! + + Boarded at Uptown. SmartCard has $1.00 + Insufficient funds to exit. Please add more money. + + Insufficient funds to board. Please add more money. + + Boarded at Center City. SmartCard has $10.00 + From Center City to Downtown costs $0.50. SmartCard has $9.50 + + Boarded at Suburb. SmartCard has $10.00 + From Suburb to Downtown costs $2.75. SmartCard has $7.25 + + ************************************************/ \ No newline at end of file diff --git a/01 Strings/02 SmartCard/Station.class b/01 Strings/02 SmartCard/Station.class new file mode 100644 index 0000000000000000000000000000000000000000..673644fcbb0fc443478a19371677f15319c7d6a0 GIT binary patch literal 1065 zcmZ`%TW=CU7(K(@09Pqk@IqC*RDo(yUyRoDrD{S#+J`kw&<8WX7Po=jWEptq5Al-t z;DaWb^g$CF8x#Ej{wU)&vs=J|AL`S42AOSb-l7p z=#8L5=uE@&-OXXY<%UmrtEc#aHt%io(39u*p)Ou}1BO(?5nOnIPa~L5|2+n)>xxaK zWU*YC9Tqh_Q>wLcg>+kkBS3zRIH^r`LnHh9>1 z@hJ30Zn!G5uyGPAHcr5{kwTgwEA>4nEe}ePm5L6-!X&k=)~?$Y7H-+(AK2O*%4R?gU|<3x@l15_mopVkB*C znmB&PDA6}!(1(+tAGuT&S*G0tqXbUTnxRvZ?lsyo)$d@{l>;QIO9#-tD!>A*Iq0;$ zqV+Wqy&>RRWa&vMg3ugVQ=?tp8P#t{e4!!%NiMYj?-XGK zHpYZ!ac&M++dl?=KNox+#TdL!qofv7nVa~E6n>zPJ}QPn)HNP&j{Pj*!VFjOpNt}| zPsH{4KU^{qnZU(yB9EzCnlI*b<0p)!CX;cRI&In^Oy>~R@tpRjtQKRT43|_OrN2(u Bw$T6p literal 0 HcmV?d00001 diff --git a/01 Strings/02a StringMethods/FrodoStringDemo.doc b/01 Strings/02a StringMethods/FrodoStringDemo.doc new file mode 100644 index 0000000000000000000000000000000000000000..a89fc6e4d99a4689d08878214297d19b3d4f2651 GIT binary patch literal 32256 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 D#2&4F literal 0 HcmV?d00001 diff --git a/01 Strings/02a StringMethods/StringMethods.class b/01 Strings/02a StringMethods/StringMethods.class new file mode 100644 index 0000000000000000000000000000000000000000..313cde67a670323fed05cca252f9f7f7dc4c0f82 GIT binary patch literal 4959 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 z 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 b34;oS-K6tw0qkMm=FxA`o2%3QlN$IR6A%=3 literal 0 HcmV?d00001 diff --git a/01 Strings/02a StringMethods/StringMethods.java b/01 Strings/02a StringMethods/StringMethods.java new file mode 100644 index 0000000..a8f771a --- /dev/null +++ b/01 Strings/02a StringMethods/StringMethods.java @@ -0,0 +1,152 @@ +//Name: +//Date: +public class StringMethods +{ + public static void main(String[] args) + { + String s = "Internet", s2 = "net", s3 = " Internet "; + + String s7 = s.substring(5); // + String s8 = s.substring(0, 5); // + String s9 = s.substring(2, 6); // + + int pos11 = s.indexOf('e'); // + int pos12 = s.indexOf('x'); // + int pos13 = s.indexOf('e', 4); // + int pos14 = s.lastIndexOf('e'); // + int pos15 = s.lastIndexOf('e', 4); // + int pos16 = s.lastIndexOf('e', 2); // + int pos17 = s.indexOf(s2); // + int pos18 = s.indexOf(s2, 6); // + int pos19 = s.lastIndexOf(s2); // + int pos20 = s.lastIndexOf(s2, 6); // + + boolean isSame22 = s.equals(s2); // + boolean isSame23 = s.equalsIgnoreCase("internet");// + int result24 = s.compareTo("internet");// + int result25 = s2.compareTo(s); // + int result26 = s.compareToIgnoreCase("internet");// + + String s28 = s.toUpperCase(); // + String s29 = s.replace('n', 'N'); // + String s30 = s3.trim(); // + // no String method changes the String object for which they are + // called. They build and return a new string instead. For example, + // s3.replace('a','A') by itself is useless, because s3 remains unchanged. + // The technical term is "immutable," as in "Strings are immutable." + + char ch = s.charAt(0); // + boolean isSame36 = (ch == 'I'); // + boolean isLetter37 = Character.isLetter(ch); // + boolean isCap38 = Character.isUpperCase(ch); // + char ch39 = Character.toLowerCase(ch); // + String s40 = ch39 + s.substring(1); // + // three ways to visit each character of a string + for(int i = 0; i < s.length(); i++) + System.out.print(s.substring(i, i+1)+" ");// + for(int i = 0; i < s.length(); i++) + System.out.print(s.charAt(i)+" "); // + char[] chArray = s.toCharArray(); + for(int i = 0; i < chArray.length; i++) + System.out.print(chArray[i]+" "); // + System.out.println(); + + // Strings can be split: String[] split(String separator) + // The method split() returns an array of substrings split around + // the specified separator, which is then removed + String[] abra = "ABRACADABRA".split("A"); + for(String str : abra) + System.out.print(str+" "); // + System.out.println(); + String[] abra2 = "ABRACADABRA".split("BR"); + for(String str : abra2) + System.out.print(str+" "); // + System.out.println(); + String[] abra3 = "A B R A C A D A B R A".split(" "); + for(String str : abra3) + System.out.println(str+" "); // + // + + /* String Methods #1 + 1. The string dateStr represents a date in the format "mm/dd/yyyy". + Write a code fragment that changes dateStr to the format "dd-mm-yy". + For example, "09/16/2008" becomes "16-09-08". + */ + String dateStr = "10/11/2005"; + String[] times = dateStr.split("/"); + dateStr = times[1] + "-" + times[0] + "-" + times[2].substring(2); + System.out.println(dateStr); + + /* String Methods #2 + 2. Given a line of text, print each word on its own line, but don't + print the blank lines. + */ + System.out.println(); + String text = "How are you doing?"; + String[] words = text.split(" "); + for (int i = 0; i < words.length; i++) + if (words[i].equals(" ")) + System.out.println(words[i]); + + /* String Methods #3 + 3. Given a line of text, remove all punctuation from that line. + One way is to replace each punctuation mark with "". + */ + String str = "RT @TJCheer2015: Freshman & Sophomores: Interested in cheer at TJ? Email: thomasjeffersoncheer@gmail.com"; + String punct = ",./;:'\"?<>[]{}|`~!@#$%^&*()"; + for (int i = 0; i < punct.length(); i++) { + str = str.replace(""+punct.charAt(i), ""); + } + + System.out.println(str); + /* String Methods #4 + 4. Given a line of text, remove all punctuation from that line. + One way is to keep all characters that are letters or a space. + */ + String str2 = "a @galaxy far, far away --right there! on the (TJ planetarium} ceiling. https://t.co/XfoqbyA9JY"; + String letters = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + String cleaned = ""; + for (int i = 0; i < str2.length(); i++) + for (int j = 0; j < letters.length(); j++) + if (str2.charAt(i) == letters.charAt(j)) + cleaned += Character.toString(str2.charAt(i)); + + System.out.println(cleaned); + + } +} + + /****************************** +I n t e r n e t I n t e r n e t I n t e r n e t + BR C D BR + A ACADA A + A + B + R + A + C + A + D + A + B + R + A + 16-09-08 + Fall + Sports + (football, + golf, + cheerleading, + volleyball, + field + hockey, + cross + country) + start + in + 1 + week. + RT TJCheer2015 Freshman Sophomores Interested in cheer at TJ Email thomasjeffersoncheergmailcom + a galaxy far far away right there on the TJ planetarium ceiling httpstcoXfoqbyAJY + + ********************************/ \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/LittleFrog.txt b/01 Strings/03-04 PigLatin/LittleFrog.txt new file mode 100644 index 0000000..639d921 --- /dev/null +++ b/01 Strings/03-04 PigLatin/LittleFrog.txt @@ -0,0 +1,11 @@ +I have a little frog, +His name is Tiny Tim. +I put him in the bathtub, +to see if he could swim. + +He drank up all the water, +and gobbled up the soap! +And when he tried to talk +He had a BUBBLE in his throat! + +Hey little froggy tell me what do you say!? \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/LittleFrogBetter.txt b/01 Strings/03-04 PigLatin/LittleFrogBetter.txt new file mode 100644 index 0000000..b659507 --- /dev/null +++ b/01 Strings/03-04 PigLatin/LittleFrogBetter.txt @@ -0,0 +1,12 @@ + +Iway avehay away ittlelay ogfray, +Ishay amenay isway Inytay Imtay. +Iway utpay imhay inway ethay athtubbay, +otay eesay ifway ehay ouldcay imsway. + +Ehay ankdray upway allway ethay aterway, +andway obbledgay upway ethay oapsay! +Andway enwhay ehay iedtray otay alktay +Ehay adhay away UBBLEbay inway ishay oatthray! + +Eyhay ittlelay oggyfray elltay emay atwhay oday ouyay aysay!? \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/LittleFrogEvenBetter.txt b/01 Strings/03-04 PigLatin/LittleFrogEvenBetter.txt new file mode 100644 index 0000000..868da72 --- /dev/null +++ b/01 Strings/03-04 PigLatin/LittleFrogEvenBetter.txt @@ -0,0 +1,11 @@ +Iway avehay away ittlelay ogfray, +Ishay amenay isway Inytay Imtay. +Iway utpay imhay inway ethay athtubbay, +otay eesay ifway ehay ouldcay imsway. + +Ehay ankdray upway allway ethay aterway, +andway obbledgay upway ethay oapsay! +Andway enwhay ehay iedtray otay alktay +Ehay adhay away UBBLEbay inway ishay oatthray! + +Eyhay ittlelay oggyfray elltay emay atwhay oday ouyay aysay! \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/LittleFrogOut.txt b/01 Strings/03-04 PigLatin/LittleFrogOut.txt new file mode 100644 index 0000000..6b67ec9 --- /dev/null +++ b/01 Strings/03-04 PigLatin/LittleFrogOut.txt @@ -0,0 +1,11 @@ +Iway avehay away ittlelay ogfray, +Ishay amenay isway Inytay Imtay. +Iway utpay imhay inway ethay athtubbay, +otay eesay ifway ehay ouldcay imsway. + +Ehay ankdray upway allway ethay aterway, +andway obbledgay upway ethay oapsay! +Andway enwhay ehay iedtray otay alktay +Ehay adhay away UBBLEbay inway ishay oatthray! + +Eyhay ittlelay oggyfray elltay emay atwhay oday ouyay aysay!? diff --git a/01 Strings/03-04 PigLatin/PigLatin.class b/01 Strings/03-04 PigLatin/PigLatin.class new file mode 100644 index 0000000000000000000000000000000000000000..1eaceebd9def1e9bdcc0ea56989664695fad849c GIT binary patch literal 6138 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 ZpxYjF+t0Y|U2c1?+kU}q2i^A3e*kV;tvdh! literal 0 HcmV?d00001 diff --git a/01 Strings/03-04 PigLatin/PigLatin.docx b/01 Strings/03-04 PigLatin/PigLatin.docx new file mode 100644 index 0000000000000000000000000000000000000000..ab7206b5dfefd6ee5e40ca16031c812c9bd96edd GIT binary patch literal 24861 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 %5*Y1 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[]{}|`~!@#$%^&*()"; + public static final String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + public static final String vowels = "AEIOUaeiou"; + public static String pig(String s) + { + if(s.length() == 0) + return ""; + + //remove and store the beginning punctuation + String beginPunct, endPunct; + int index = 0; + for(int i = 0; i < s.length( ); i++){ + if(Character.isLetter(s.charAt(i))) { + break; + } else if(punct.contains("" + s.charAt(i))) { + index++; + } else { + break; + } + } + + beginPunct = s.substring(0, index); + s = s.substring(index); + + //remove and store the ending punctuation + index = s.length(); + + for(int i = s.length() - 1; i < s.length(); i--){ + if(Character.isLetter(s.charAt(i))) { + break; + } else if(punct.contains("" + s.charAt(i))) { + index--; + } else { + break; + } + } + + endPunct = s.substring(index); + s = s.substring(0,index); + + //START HERE with the basic case: + //find the index of the first vowel + // y is a vowel if it is not the first letter + // qu is a consonant + String newWord = ""; + + for (int i = 0; i < s.length(); i++) { + String currentChar = "" + s.charAt(i); + if (vowels.contains(currentChar) || currentChar.toLowerCase().equals("y")) { + //checks if first character is vowel + if (i == 0) { + if (!currentChar.toLowerCase().equals("y")) { + newWord = s + "way"; + break; + } + } else if (vowels.contains(currentChar) || currentChar.toLowerCase().equals("y")) { + if (currentChar.toLowerCase().equals("u")) { + if (Character.toLowerCase(s.charAt(i-1)) == 'q') { + if (Character.isUpperCase(s.charAt(0))) { + newWord = s.substring(i+1) + Character.toLowerCase((s.substring(0, i+1)).charAt(0)) + s.substring(1, i+1) + "ay"; + newWord = Character.toUpperCase(newWord.charAt(0)) + newWord.substring(1); + break; + } else { + newWord = s.substring(i+1) + s.substring(0, i+1) + "ay"; + break; + } + } else { + if (Character.isUpperCase(s.charAt(0))) { + + newWord = s.substring(i) + Character.toLowerCase((s.substring(0, i)).charAt(0)) + s.substring(1, i) + "ay"; + newWord = Character.toUpperCase(newWord.charAt(0)) + newWord.substring(1); + break; + } else { + newWord = s.substring(i) + s.substring(0, i) + "ay"; + break; + } + } + + } else { + if (Character.isUpperCase(s.charAt(0))) { + + newWord = s.substring(i) + Character.toLowerCase((s.substring(0, i)).charAt(0)) + s.substring(1, i) + "ay"; + newWord = Character.toUpperCase(newWord.charAt(0)) + newWord.substring(1); + break; + } else { + newWord = s.substring(i) + s.substring(0, i) + "ay"; + break; + } + } + } + } + } + + if (newWord.equals("")) + newWord = "**** NO VOWEL ****"; + + newWord = beginPunct + newWord + endPunct; + + return newWord; + + //if no vowel has been found + + + //is the first letter capitalized? + + + //return the piglatinized word + + + } + + + public static void part_2_using_piglatenizeFile() + { + Scanner sc = new Scanner(System.in); + System.out.print("input filename including .txt: "); + String fileNameIn = sc.next(); + System.out.print("output filename including .txt: "); + String fileNameOut = sc.next(); + piglatenizeFile( fileNameIn, fileNameOut ); + System.out.println("Piglatin done!"); + } + +/****************************** +* piglatinizes each word in each line of the input file +* precondition: both fileNames include .txt +* postcondition: output a piglatinized .txt file +******************************/ + public static void piglatenizeFile(String fileNameIn, String fileNameOut) + { + Scanner infile = null; + try + { + infile = new Scanner(new File(fileNameIn)); + } + catch(IOException e) + { + System.out.println("oops"); + System.exit(0); + } + + PrintWriter outfile = null; + try + { + outfile = new PrintWriter(new FileWriter(fileNameOut)); + } + catch(IOException e) + { + System.out.println("File not created"); + System.exit(0); + } + //process each word in each line + String newFile = ""; + while(infile.hasNextLine()) { + String[] words = infile.nextLine().split(" "); + for (int i = 0; i < words.length; i++) + words[i] = (pig(words[i])); + + newFile += String.join(" ", words) + "\n"; + } + + outfile.print(newFile.substring(0, newFile.length() - 2)); + + outfile.close(); + infile.close(); + } + + /** EXTENSION: Output each PigLatin word in reverse, preserving before-and-after + punctuation. + */ + public static String pigReverse(String s) + { + //s = pig(s); + + if(s.length() == 0) + return ""; + + //remove and store the beginning punctuation + String beginPunct, endPunct; + int index = 0; + for(int i = 0; i < s.length( ); i++){ + if(Character.isLetter(s.charAt(i))) { + break; + } else if(punct.contains("" + s.charAt(i))) { + index++; + } else { + break; + } + } + + beginPunct = s.substring(0, index); + s = s.substring(index); + + //remove and store the ending punctuation + index = s.length(); + + for(int i = s.length() - 1; i < s.length(); i--){ + if(Character.isLetter(s.charAt(i))) { + break; + } else if(punct.contains("" + s.charAt(i))) { + index--; + } else { + break; + } + } + + endPunct = s.substring(index); + s = s.substring(0,index); + + //store capitalization order + boolean[] caps = new boolean[s.length()]; + for (int i = 0; i < s.length(); i++) { + if (Character.isUpperCase(s.charAt(i))) + caps[i] = true; + else + caps[i] = false; + } + + //reverse String + String reversed = ""; + for (int i = s.length() - 1; i >= 0; i--) { + reversed += s.charAt(i); + } + + //fix capitalization + + char[] reversedArray = reversed.toCharArray(); + + for (int i = 0; i < reversedArray.length; i++) { + + if (caps[i]) + reversedArray[i] = Character.toUpperCase(reversedArray[i]); + else + reversedArray[i] = Character.toLowerCase(reversedArray[i]); + + } + reversed = beginPunct + new String(reversedArray) + endPunct; + + //return reversed string + return reversed; + } + + +} \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/PigLatin.txt b/01 Strings/03-04 PigLatin/PigLatin.txt new file mode 100644 index 0000000..33e7194 --- /dev/null +++ b/01 Strings/03-04 PigLatin/PigLatin.txt @@ -0,0 +1,25 @@ +pig +latin + +this +strange +apple +a +upper +sfghjkl +question +squeeze +yellow +rhyme +eye +Thomas +Question +McDonald +I +BUBBLES +what? +Oh!!! +"hello" +([Hello]) +don't +pell-mell \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/PigLatinOUt.txt b/01 Strings/03-04 PigLatin/PigLatinOUt.txt new file mode 100644 index 0000000..0a6bb43 --- /dev/null +++ b/01 Strings/03-04 PigLatin/PigLatinOUt.txt @@ -0,0 +1,26 @@ + +igpay +atinlay + +isthay +angestray +appleway +away +upperway +**** NO VOWEL **** +estionquay +eezesquay +ellowyay +ymerhay +eyeway +Omasthay +Estionquay +OnaldmcDay +Iway +UBBLESbay +atwhay? +Ohway!!! +"ellohay" +([Ellohay]) +on'tday +ell-mellpay \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/Scanner and PrintWriter Classes.docx b/01 Strings/03-04 PigLatin/Scanner and PrintWriter Classes.docx new file mode 100644 index 0000000000000000000000000000000000000000..7b8bc46ff84085ef982fddf10c6010719771326c GIT binary patch literal 18743 zcmeIaW0WP!)-GJOtIM|8W!tvxE~Cq4mu+;h%U!l@+qUhx)%#%Y(`SF*z5m~LjS(wz zW#ls>R*q-Rh?sLm%1Hu)d;$OifB*mhAOMIFs=5dO1OT7`2LM0@fB@1Iw6S(HwszE2 za#5*dt7rqOlcMoGAamp_Oxn!7Cp#?E^%Wt_UGi* zynE_zz+>PuG+dGoziQ_>R}Ne7oqm;xn=PSo#gCFkh{ zdN|dy?T0o+q%Kf%uedybl&G9Z=CV0(7DVC`P2^&Ua8elyxYs}dDjHK&c@q=Ahs2<8 z=B`xWS(5|a7DYZ9ItO%L#ln%6Ly9eec%X!Fx~zqcl~kpMrKp}}5oOa>F9y=^Jl*rB z!WZFi$gQq32&e*o(`7%I8X<_jy23AWA`|K<3vzMw>#OI)MG&6=?^tU@)`z{mUn6fz zarTQJ%XV7mXVN&9fvBh=3-Wg$695$uK-bCq&hXZaO)fjae8Ujj>O=-I!xpW^T(fb&LB}dD{J|U81;D5$tnxlea8X#pCWR#|w+J6Jy!te$uD=!Mpc&U;w%Q zP+r^^%=+_>8krB>g#J)oU3+6o2Rhnc-~X$$|ARI4FMqu>w(~=2VffDdU;QUr<(E3q zb7klZCzjC{!67uorI42wEau-{xfT|Hv=8+~ho`3FCfpp-MVvO`wJ$Iem0?3$A?F@- zx;39$TmTXRTk;uP=4`iM()R95UWbUpDTe&R)KNmmF~MRULXt;2kasDC?sk7bn-fxu z&lnO{=Vsa|&)+9|eg2-pFgs@JYK+WglaL)d@oN4uHC4&_G;4=4ZtHUI>mvyHtG-9MDX$i~pg>SLVyHNgE#VE{iy zxsSX5XMalLM`b>&e89O_i{K8Yox=B*LK!-UB2@_ZjlMLzm{KBl=$+F_4QBD|Dz^)} z{-qRIqB7Ovtn!Gqjs=liJ@fPmh>D5gPKk=Bm)pG<;Y4D}MGKHlunNlzZQZi9?+H7J zma8``_Oxc8CEuP*$E@T9$*fA<`R)}grp4`Zi(Kf!WYqz6i3elT8o`HUxN;+qMl9op z$AfWcFXxOGKV9U6X@iTI61o({*f&~rrbs9PLb6CyIvBoi^;n5PKns=Ya57+{;B^U# z1z_d@eFntdn@MVi&;W#`8G&9HZ+l=e;yP=hL7#sRqL<(aF&2a13ryXk`GxRYaG1CW z){pl+DCp5`{-=QFeXk1D^W)^y5wfT+FDKV1gjuj#?vCV*P1;uBhOU0{2X(`wISFr}&K0!enm z4o@KV*lw~onlW!0=pTGP=OrXUMDVk%Mr_nQ&$3sC`&UFsz!L7%4}73Ybc zp&=D#kDs9;Jp_=MBk0Hmw!GQ~B9wF(RCS!MVRCG@rw!2)b%;pO$2=p7p>PslNY!6Q zn+T~{lBkG(97Jl8h92`R8WE(hB`=TWhFH?ITvnU~PrK_BT>#px^qw|C0s&vYA_XEn zgf`pG-?S8MP*%cxw8MZ>H^r!|8>z_Lud#QPs5>4qNyBJ) z56uWMWMAZIHLk0DxRWUx*!RW9g=q}PLS@8-0#q7y`wFH2aY5AtY?GTL`;Cp@)XX5^ zpx1Jg(Cht}sAcNrIpUy#7I43APo!;|h}~k|Xr-}b32ej6Eb?7}m}&e@D#<;#z-H*q z&^o6$cIilVhC5k|Tiu%E2=Av3*z0yN*i%1}o|1R|Y~piV@*Dqd$Xhu}cc*D#3?wQK z6pk3V?-Zmq-W-hObT%YK$17>G2)U9;!I23x3TYexNHP>Ci5a+?vUN$ZqE#7aPetdwds(sZ{7{_?A&CN(gIYe3}4X zd~iYCjYk2196FgSCqiyb2-CM8U`m&%xB?tNn#X;6c6`YwR5RW(3lx`17l zX*9WQHu6;uY(}`SQ=VOoVN?h3mClhb2nUUSD)nCyzE8<=_YIfq98#0Jk|&Or?#RV* zya6dCEfFJ?RkutXQ@%!aeb??q9LOv?tT-uIt!xS_DQzCFz!rnJ&qR(|>&8`T5KK+@ z8Z~U06wzk!rL58(_FC;-?mF%~VUf8FQL1aFOJp|ueV2`Ygprmye5xE>(w%+D_`!J) z8d(2c)qkwp+BiNlx-u9mlc-3{X{z<)Mh*K;B=v_{uwENeR${NZN}*`AREQ4;DmR%PV;BVxIr42<)`>^TAE{eQ-JPUv=Qw})gTGN?XjnVXc9xuEOi0d zq}WikKM&7gdr&v@xeo;S<#pBWEUAHk*b|IG28Eq~D+(bIliQA^Q@O0Zxc^$H$cjMd zfFg&dioHv=0~}>KjSF z(E~ZuTwt~y@XrfE%;iVIgP>RO3=5D&!r{9Uw=2Zv4hwYAMi)?4=Gmc18$~oV^}3Q! zY}sAxCP+0tAuF~U^F>2-Mjk_DWR?MQ{A=1zVbi={Bi;nE;I+_6zek~X zBiudvbSKAY$=GKNDxOk{+QklwTOUdlF9;Qc9ROeI-ysK$H`_$5#{1m{!Qy86J*Zks z;*HmpHWYVP(~Q?~Ew|~^NqhNgYnx2Mq+NwiE0`s0cFadUF4=){iPNWpcio~--Bf}_ zn(r~-tRXnaGV-F0Xb=3j9yU`&AwzFckK96r@$k#GBvpoq>vVj>rIk(7)vJ^Am;zHJ z8=LG$)MAiRdItP?Cl zbvQPuPgt&RX*};KYDks!r9_Lza~Lg8%}%*p1lvb8r_x+O+M1|!x3WyWwT(-qKLI1k zl(xHa3FB}-zanB?D=n$Sg=|&L;$eDloJYCmfz{(3{hDXQQU7*i5@X1xJ7CKRR*zX1Q(bAoM!71W#S#gT+ zc5l$;9hUN@++BCQ~4}=v`O#$0L%)Y53tV3?$niG1%!_SOt1?cPV@Qu2N-NVno^aazo zhP8|UGavdUW97$14)1{HB~iX8U-Yy#jgr57%s<}WPqa3zk61o=p@iwC&D;hdK%CBr zS!Lg^nL7)d7MSx&8{k`n5G}_K=ZSkph~KwqWf^_ls(~aX_#^=AEZFVwucV;!dQ%kYK}pY=&C zEzZW9LyHpWX=%Kk49gS!E>67fWI;&Y^5Cyz*0Z+_yBaVlX3rNeA?oj;M5wia@4%C| zJyJ+qTLrk7ohki7vL%ai<8F52dfy!J`+Wo{c@5EVF&XTXec0<&Lvj$odu@p zyFP;;vnL;Owy37}HaB0niMx?iA;-o_aC4RU|5Q9r2b&N~~ox+vB-NxWVxQ@T!Fq3^ERRo1DpN69cOem!pp@e z1DTrb?1J)BSW_0jWov7muKc7r5Gq}b=4b=_< z2rlzkZ-)n;Uf9wPXGj{jYC;X4zr*1?rXB#sA4B-ZEgEHX(3#%*;U({#>(uf2-CZy{56U?Pa->Z9sqdp2|-&#H>j~zn> z@CD*_WpKyzHtQjB4h6VZApFJQ<@41OfeMS=@(pEH^Y{C5&Lq`C(AF|(ktt>uo6jWd*ONGYumPf#D>vQ)-=hL1w=UGQ{z zOXoth+uf42G-=Y=HSLG#Y|lVm$Y`q#USjlHy|jk&0f3->0A}?^LUXrl-F+>OX&ff? zki(Mo$DoQNQsG|ii$wO}bs_GXR{>&Eb|Su`#%dCow#3Q+&P~pwMS&xy{y`^zg4l?#(M_>+ ze2FHeB|-4MGIFR4<5c!dSWe8qvT8KdJ)w$=>60S|wT5G$a$AvsPKSz$VP;_l7$6l&Qm)?##Rj;|e9_TQj z-6$=AMVs=dHKA8dy~o&A-XbvsXleQ!6jo*3#`PH^$xjFMGNle% zMGYOCT|4Z}d&d;AH?kdE)WM?P+JhhFeKr_;rwegq5O^I;SdeBn8&Cl^5O}{UI0+rf zey0Ass@U~ND_fT_npwMC%G{A$-c(-HPZ8kB%Y|cxg*dxqcnF zlbq#QHe|>ATzt1#-@0#;XoqPKfmz?8{x)rla{8Vy@cDC=H&+E$b$@+JE$)?-wl_H&;q0`fm{` zyj-o8AfP=jl~RsNOCG0;t`eY0M7|akB~e}~TVgL}KAytd8v9$zTgaZQexZqTqft_~ zc$YZ*S@%TM4quny{ZltNb&#=rLkn@31|p!zZ5C&1q5(frSpA$M{@pzI2~-q#>*<6J z@r|ax?%1nz^Hx9ydH*U|(K;#w{L@7^j>*Cx`$CAq4z|b2GB(H%I_X%VB$jum;cE+r!IhPBSZG#QCB_85#jH|Vq!X2on?p~O<0+pdcc9kV=blu z)Bf-YkZn$1TUswCrKIJw7x!i?UQERBc0OO<%?;t}9vs;Kf&th`0uvb7+}8;-s&CGc zf?{Y9br^3eR}hAzaJ!A$7|`&$W-NCBwnk+auHLhqccNQCs0UAG8;tI;@vg*$7sm*k zVHeQtMl8ZS)o&jmivRZURD_g_3V!%M+aLh|kp8vqHnFjBw6<|HcKGGqDNS6COru8# zI;XnDi9SaLX1DYcP_dd;aaTR9gWq5#RSSc!l3r->1V<9kmDd~5P zapyFlR%I0FToA>LQzFr_HoQ6Bub%{RokL8C))Gg}<*q)kd%f%~4p+!eSBg}JN1qbO zFJKr-pGNFUG?7B!L`}yuRzB)ef-IeiR}7LgM#6sb)onM=C9g(hc@fx&RCDZ^y!Wc< ziAD;i+W0gbj^4kfDPsHCC@9Hg5;PE)Z$ls5Q9dqB-a)JA$fv-c?|ZReDlCz^ZnWa5JI43y#Fk$1Uqo+R8H3wU@Dfrs1gokqE41j&xI`wJD=2HAO| z4Lr&X=o0>erM@TS?3Ku_)#Wq%9hmRiJk<-r?;7@Iyb5f!q7PDTTxd<3W0# zEs`Tf2cGu%3pk*zeBTG10_cL%lW`r7w?+>(^W)WX?W;Ut87b{tXf=~;omqaa+HIB( zv^Ia?SyI$|HonDZ^K}|&x|XQ8|K>Uv5=6y6abQlBK=6~D+z?m2jK^dU-r?CD1WP*Aexs*>^}PAoBg5pYfYibj38EGETQvi3f`>T zgDb}^8gq}*s5y9x&ZZlThIV~KYS>U=Y~*lGTe;4g%Hg|d3>s@Q=|idEeEZ+JdQABv zl>|O0*YH8Pf4h2&t&RR)87EVLif5Eo;ra{*@(;$b>AAN(nsRMdxOt$Z)SLF%lNf#q z_uOF+SMJ)S6>0bK!lH>b#fgC&j5lK7pbx{H$Kx#x4H*=o>@Nj}FwYg3M$aERgfNs; zBn`oVmWimcIR3@BI!zf2+IVr>18}d~yoj6;jf?xh0q)AezJD+dC|vS`aq+)14&mR7 zEB-6vAbw*U1=%FcFUIwjG5WE&FmqCexDMY!bfmJq4Sha?>$us64YGY?;X_o*fG~(% zk#gw}AfZkph86B5XJsrt6(xICaC5Br>5U0JP4<>MC^D%IpKv!j=o9&-@diC?z+(F71`h=)`tbHKzpNxzD2jiYB;~@&W<}Sa_q?527 zxcV~rQ~)O{u2tt@^)aL&z^i52Q8&YW{z89;zobHUbJk|@XsuMPiP;`?H*@DD{|3F@ zQCxD?f_&m>preqpDS^P`wj^#m@C7XNdk_~n@J|k3`vAqup#s6M!Tz0%!w{r@5&aqCl()`CLKCHj0| z_xQRjh?xKFu0u1qP>xBYsFt#8VItnnppPq81GBNxkdi$yO_cr!XKK zeGB1cDD0dRjK1A`-5#IANK7(*rvAPflhG} zdlnQ!sy$_ZUZg0~qPd~K0N58XldkqqQlE_cTBk?^KxI(vlxTVfA?1BWPmF8>{K$)b3Wc={YA z*p&3KT;wdqVzF+x_^|O$0QQ)U)u$rmO_Aq-GflC(%ezOg`>eKCy=Zm zho}e}w28e9cAht*4rhX~gg@Wp(7}{11fAHsn-tO0HMzAe8N%`Ba1R>Zq{Rf72S|pM zlO;Qw!n`i&t!0h$GpvmCky+kW7_Fl7Vl@@I>)HCyonN+$T;*Wb(8?4QyLG) zv$*CVK^RF;ESjGdJUYhD2Ko2~7LZoo%1wFLwPg^(kAh?Z{QWBCzF6uk&^%xPD26py z*DoK=L3x4sc;ZoyI#L*7wMJ;T4^@K<1%* zr>b=e^|tr>VfDJ#>lCb#@kaGeyw}T}$!Z&(_v>JAxQECNf5sMBL&8ZX`*1iHm>_nL zXkQoZP_F><6az9y5}AquyYJ1ERTJ}M$-9%4wpIr27l}To8$dd^>y@8)!h6)@!7nU6 zX?Adrsi#5zkXEfNtwQS)KR~7JGhPAg6Qy0uXngqEPqA~wL}O(pM9qAU5r7>`OaOJr z%|qD3|20iv_^0~}n$}geKs|+p;gO?w7F?-iDx!8aLyz&60>YNnqscj{g~OgfyJVy# zu@a~WZDN4BbxU|ZRKHAw-N?|u7d2s85_qz%dTd%0Ar9j3Tx-5O$H^50WXaVMbhnt# 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 YE;&ii58e0`F@y(b`%o`K;a|W058)c%WB>pF literal 0 HcmV?d00001 diff --git a/01 Strings/03-04 PigLatin/ScannerPractice.class b/01 Strings/03-04 PigLatin/ScannerPractice.class new file mode 100644 index 0000000000000000000000000000000000000000..0e48e08cdf4954c9c6cef9993c5b60c7abaf4f91 GIT binary patch literal 1528 zcmZux>vj`W6#hR^ZBg2&SR~ zH&mFb)osi7onR-h?8vp9RXS=}uCH*q^sshl{bp4>%ipimqrmm|S0#`lFZZg7L@U^* zF8>;yLL#)O8qm6t>s5w<88G|E^&H=7G1rXi%SA!U(e6fkq8wnS25h%o*kcUvh2rORwu4aqs(z=e8(;;80$}LrxUqtKh$9IM!nq)Z0A-SWd5b%m!)14=Ww2# ziEE$CRAbk~_h^X00}~JNgTnmoffW_qu-FZXlB85|P2)!sKjCK+zra#3V^7Rlf(n_6 zbJ$au4xF&-Md5PvgmvaeW)sD+(IZsIgNlW1n`na09!Y>RvCYJoZggF*=>#VBalpu~awvQsoLK$4>6-9Xd8Mnt%r5A0-)wI&SQXhQEiA(_&Crq4B^r{7yHb z6US!{}prJ7-o?N0=dYqESfoG26$< zYI>=Mxj%4$N3NPFq>qqq^f6zcms7dZ6g`~jVd2l`{}s|b6lnH_B$`B#@(Mp?lI}DU z$s>yeCRl=jMIviVeVzJEejJ;aF<03t<3^L0+r}-*e!ey4d zfCfEXWVt15V2N0g_jN22OVR%d`}YBx@F7`ek$6rhqw$f(ipIwy`3cCrLW>kVe#-x6 Jd`{r={{gp~UCICe literal 0 HcmV?d00001 diff --git a/01 Strings/03-04 PigLatin/ScannerPractice.java b/01 Strings/03-04 PigLatin/ScannerPractice.java new file mode 100644 index 0000000..418633f --- /dev/null +++ b/01 Strings/03-04 PigLatin/ScannerPractice.java @@ -0,0 +1,21 @@ +import java.util.*; +import java.io.*; + +public class ScannerPractice { + public static void main(String[] args) throws Exception{ + Scanner sc = new Scanner(System.in); + System.out.println("What is ur filename?"); + String filename = sc.next(); + Scanner infile = new Scanner(new File(filename)); + String fileout = "results.txt"; + PrintWriter outfile = new PrintWriter(new FileWriter(fileout)); + while(infile.hasNext()) { + String s = infile.nextLine(); + outfile.print(s + ", "); + } + + outfile.close(); + infile.close(); + } + +} \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/declaration.txt b/01 Strings/03-04 PigLatin/declaration.txt new file mode 100644 index 0000000..c2b5a73 --- /dev/null +++ b/01 Strings/03-04 PigLatin/declaration.txt @@ -0,0 +1,63 @@ +When in the Course of human events, it becomes necessary for one people to dissolve the political bands which have connected them with another, and to assume among the powers of the earth, the separate and equal station to which the Laws of Nature and of Nature's God entitle them, a decent respect to the opinions of mankind requires that they should declare the causes which impel them to the separation. + +We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness. --That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed, --That whenever any Form of Government becomes destructive of these ends, it is the Right of the People to alter or to abolish it, and to institute new Government, laying its foundation on such principles and organizing its powers in such form, as to them shall seem most likely to effect their Safety and Happiness. Prudence, indeed, will dictate that Governments long established should not be changed for light and transient causes; and accordingly all experience hath shewn, that mankind are more disposed to suffer, while evils are sufferable, than to right themselves by abolishing the forms to which they are accustomed. But when a long train of abuses and usurpations, pursuing invariably the same Object evinces a design to reduce them under absolute Despotism, it is their right, it is their duty, to throw off such Government, and to provide new Guards for their future security. --Such has been the patient sufferance of these Colonies; and such is now the necessity which constrains them to alter their former Systems of Government. The history of the present King of Great Britain [George III] is a history of repeated injuries and usurpations, all having in direct object the establishment of an absolute Tyranny over these States. To prove this, let Facts be submitted to a candid world. + +He has refused his Assent to Laws, the most wholesome and necessary for the public good. + +He has forbidden his Governors to pass Laws of immediate and pressing importance, unless suspended in their operation till his Assent should be obtained; and when so suspended, he has utterly neglected to attend to them. + +He has refused to pass other Laws for the accommodation of large districts of people, unless those people would relinquish the right of Representation in the Legislature, a right inestimable to them and formidable to tyrants only. + +He has called together legislative bodies at places unusual, uncomfortable, and distant from the depository of their public Records, for the sole purpose of fatiguing them into compliance with his measures. + +He has dissolved Representative Houses repeatedly, for opposing with manly firmness his invasions on the rights of the people. + +He has refused for a long time, after such dissolutions, to cause others to be elected; whereby the Legislative powers, incapable of Annihilation, have returned to the People at large for their exercise; the State remaining in the mean time exposed to all the dangers of invasion from without, and convulsions within. + +He has endeavoured to prevent the population of these States; for that purpose obstructing the Laws for Naturalization of Foreigners; refusing to pass others to encourage their migrations hither, and raising the conditions of new Appropriations of Lands. + +He has obstructed the Administration of Justice, by refusing his Assent to Laws for establishing Judiciary powers. + +He has made Judges dependent on his Will alone, for the tenure of their offices, and the amount and payment of their salaries. + +He has erected a multitude of New Offices, and sent hither swarms of Officers to harass our people, and eat out their substance. + +He has kept among us, in times of peace, Standing Armies without the consent of our legislatures. + +He has affected to render the Military independent of and superior to the Civil power. + +He has combined with others to subject us to a jurisdiction foreign to our constitution and unacknowledged by our laws; giving his Assent to their Acts of pretended Legislation: + +For Quartering large bodies of armed troops among us: + +For protecting them, by a mock Trial, from punishment for any Murders which they should commit on the Inhabitants of these States: + +For cutting off our Trade with all parts of the world: + +For imposing Taxes on us without our Consent: + +For depriving us, in many cases, of the benefits of Trial by Jury: + +For transporting us beyond Seas to be tried for pretended offences: + +For abolishing the free System of English Laws in a neighbouring Province, establishing therein an Arbitrary government, and enlarging its Boundaries so as to render it at once an example and fit instrument for introducing the same absolute rule into these Colonies: + +For taking away our Charters, abolishing our most valuable Laws, and altering fundamentally the Forms of our Governments: + +For suspending our own Legislatures, and declaring themselves invested with power to legislate for us in all cases whatsoever. + +He has abdicated Government here, by declaring us out of his Protection and waging War against us. + +He has plundered our seas, ravaged our Coasts, burnt our towns, and destroyed the lives of our people. + +He is at this time transporting large Armies of foreign Mercenaries to compleat the works of death, desolation and tyranny, already begun with circumstances of Cruelty and perfidy scarcely paralleled in the most barbarous ages, and totally unworthy the Head of a civilized nation. + +He has constrained our fellow Citizens taken Captive on the high Seas to bear Arms against their Country, to become the executioners of their friends and Brethren, or to fall themselves by their Hands. + +He has excited domestic insurrections amongst us, and has endeavoured to bring on the inhabitants of our frontiers, the merciless Indian Savages, whose known rule of warfare, is an undistinguished destruction of all ages, sexes and conditions. + +In every stage of these Oppressions We have Petitioned for Redress in the most humble terms: Our repeated Petitions have been answered only by repeated injury. A Prince whose character is thus marked by every act which may define a Tyrant, is unfit to be the ruler of a free people. + +Nor have We been wanting in attentions to our British brethren. We have warned them from time to time of attempts by their legislature to extend an unwarrantable jurisdiction over us. We have reminded them of the circumstances of our emigration and settlement here. We have appealed to their native justice and magnanimity, and we have conjured them by the ties of our common kindred to disavow these usurpations, which, would inevitably interrupt our connections and correspondence. They too have been deaf to the voice of justice and of consanguinity. We must, therefore, acquiesce in the necessity, which denounces our Separation, and hold them, as we hold the rest of mankind, Enemies in War, in Peace Friends. + +We, therefore, the Representatives of the united States of America, in General Congress, Assembled, appealing to the Supreme Judge of the world for the rectitude of our intentions, do, in the Name, and by the Authority of the good People of these Colonies, solemnly publish and declare, That these United Colonies are, and of Right ought to be Free and Independent States; that they are Absolved from all Allegiance to the British Crown, and that all political connection between them and the State of Great Britain, is and ought to be totally dissolved; and that as Free and Independent States, they have full Power to levy War, conclude Peace, contract Alliances, establish Commerce, and to do all other Acts and Things which Independent States may of right do. And for the support of this Declaration, with a firm reliance on the protection of divine Providence, we mutually pledge to each other our Lives, our Fortunes and our sacred Honor. diff --git a/01 Strings/03-04 PigLatin/out.txt b/01 Strings/03-04 PigLatin/out.txt new file mode 100644 index 0000000..e69de29 diff --git a/01 Strings/03-04 PigLatin/outt.txt b/01 Strings/03-04 PigLatin/outt.txt new file mode 100644 index 0000000..e69de29 diff --git a/01 Strings/03-04 PigLatin/results.txt b/01 Strings/03-04 PigLatin/results.txt new file mode 100644 index 0000000..6759760 --- /dev/null +++ b/01 Strings/03-04 PigLatin/results.txt @@ -0,0 +1 @@ +I have a little frog,, His name is Tiny Tim. , I put him in the bathtub,, to see if he could swim., , He drank up all the water, , and gobbled up the soap!, And when he tried to talk, He had a BUBBLE in his throat! , , Hey little froggy tell me what do you say!?, \ No newline at end of file diff --git a/01 Strings/03-04 PigLatin/testing.txt b/01 Strings/03-04 PigLatin/testing.txt new file mode 100644 index 0000000..174dc79 --- /dev/null +++ b/01 Strings/03-04 PigLatin/testing.txt @@ -0,0 +1,5 @@ +It's a text file + +We have to turn it into pig latin + +But I like BUBBLES! \ No newline at end of file diff --git a/01 Strings/05 Sentence/Sentence.class b/01 Strings/05 Sentence/Sentence.class new file mode 100644 index 0000000000000000000000000000000000000000..b0bde335e832a1046fb2c89abeeba9605221b59c GIT binary patch literal 2561 zcmaJ@U2_vv7=BKY%_d=?CG>;Rs^zmuTBrg7wzUXBB$5;)6_5(JP1bhX?QYm?S}QVM z*bzl%)EO@vZ$xjr;X-F5c6z}N@CW!`^a6a&W@`hDPU*Ynyyv{n`@A3LEq^>-dj#M( z?j+ESQ*m_RbPU-9#&AY%UQbY*mEsL4&dGzET)in*=VQprZ$XNQ7%s@~#UueI4-W=$d|^6Nb4 zGhFpt0cEM-bjQ?YKLT533~z&2IF%+fsauB;=t!ko8ER(rqHdXX*>x63ik8FZ}WsX&;q6JXl@@l$gIyO1Y38+hI>esSwkOgXxND!g7s^-iT5<@La&CSIIQ7_6fa4kV?aX&2Q^Hi zBmfO%7#iM3nzRoM4V>IPGP);~zI|uv`q(&c&0tob{j}qFtfF2i7~ZT?uC_&C#xSR0 z9+rj$*fBVAQ<36U46ghh7Kp8LCB{ZKUYMRUWTZ{1MuYnGW6vqoie>V`K&#}p?4PJ* z*fSofMoY80dy2M^R4y%Z>>3qIm+#?BGgy|lipH&)d@7?&ef5;SWu3QpPJW}(+)0yD zuB$IgpXn(+@ha$F2=?HDK5t|lyQF(pOmCJeww~>={++38OY~UDu|3_id8PM1`N}2^ zN&Hs%X^nfL87!CvO<@O`mXt!GUqww8lo9URsG?~vI`c*_S{gx~)k~h^E~~iBLgXE1 zzE%;?a<SX!LYt-W)fgDy6T*6mo1~ZuVL6+mCb~oGMrqlJXOTtdUK;RT5hyC zzyKnvTUOEZj8PRI3GCk#Un_0`&;S2D^mCGTb6kh`!$;|__#F9-accMBIm+j`Gk6~6 zw>$GYL}u_ILW9Y09g#w2=+Q$czxswRP^ zUGjZF#Xjt(3(heN1TKg9<->=P`3=egE<%tFqQ0`|18R*60iZw%X=)_jX5-K=&lq2A zX`I1eV0?+}L$ujN&!JUBSD~&VmLCic))9}CSCQDDlkjiez&4Jue%f?3ECWj0IJbuU z7~^u71^6E`4>A*bd;5Nb5_yp6tz%23kK#VsSAGZD4c;R z$6W_zIXF!^vV6ylG@g1$vLsdo9_PPih5nU{g(mk3~8o z2Os@}n+H21hwEq`QIgt7G<;0$RC^TaQ-eK9r+Rb^+krZg-(!1EG|=n-MxraK`1#47 zLp{+o<_QG}7AgOL#LyZ#xnGI!`2LV2+eq#>+PMCNyA`JSQ*6aucIRg#|2aGJ9^2^) zyoN8?%l9yeuW%h-vkc$xFUnm`(Qo}AFENk-*7#*6TcxIeWBhNGLi-#}um_^-^AcX+ zX+#DbBqIzLBYuZO;b4@j5WUa(?;-4$EQ9D1nkp*B*8jaKfXC=kF;0y*@Hdpdu#=Mf hPZB#st{?E5V3HT{A(n{x7WW-IzeHWpmzRC{&OhN`8?OKW literal 0 HcmV?d00001 diff --git a/01 Strings/05 Sentence/Sentence.doc b/01 Strings/05 Sentence/Sentence.doc new file mode 100644 index 0000000000000000000000000000000000000000..8a19656189051cf3279d05ceeafdb11ffd2ee7ea GIT binary patch literal 39936 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 Q(Rk}np|$Dl|1=H!Kg3+1Pyhe` literal 0 HcmV?d00001 diff --git a/01 Strings/05 Sentence/Sentence_Driver.class b/01 Strings/05 Sentence/Sentence_Driver.class new file mode 100644 index 0000000000000000000000000000000000000000..5a74ade381e5ec0caf0646ce398f8b7927374e7b GIT binary patch literal 1371 zcmb7EO>7%Q6#gcE-ZaHui8Cj}H+Dl++5?%x+c)oh@0+*tz1=5&KmG;4b==P4 zB+gCaJT5p`$)bQ_1{WP%%3=~FYc5+;wwa3cR;_o%nztOh?cl0|cN|=Ea6N-}Gk8y6 z>V^qTdQ)J$P}~=oxE1+YV76gGz1{1!biAip0VBCa)K{Oa*Y{Jgk@E{d;SUUfTw18kH`!6ZkvdyR$ zxAms6t(^SNX=QtWiv{E}c;CeuZm^}DYNNirv3qB$CiiO1z1nUDAGo-QbphwFUSM(g zwhn?wrUyFK-m**%v`m!o%a(54#fPZ6_z1Ub<%WwIHm&!uHF*KADw`@yl??dOzEp`+ z(${?xNR`U%YO`7vIJFr>CD}2dG&Y@>(35r9iGnYfJX7ndl5DGxp(Ir;*-~jDiB$~t zHG4g=rF_*b$@)rHR_U?m>Tb=Kac`Y#t0bFdw-D_Y^F2*VNe|!pnMUM( zF3g?Q1Kmzv2sOV>Qr+cTL_H=JMk<=9vO@_|3aM3>!psjjUJMIlzO= end) { + return true; + } else if (s.charAt(start) == s.charAt(end)) { + start++; end--; + return isPalindrome(s, start, end); + + } else { + return false; + } + } + //Returns copy of String s with all blanks removed. + //Postcondition: Returned string contains just one word. + public static String removeBlanks( String s ) + { + return s.replace(" ", ""); + } + + //Returns copy of String s with all letters in lowercase. + //Postcondition: Number of words in returned string equals + // number of words in s. + public static String lowerCase( String s ) + { + return s.toLowerCase(); + } + + //Returns copy of String s with all punctuation removed. + //Postcondition: Number of words in returned string equals + // number of words in s. + public static String removePunctuation( String s ) + { + String punct = ".,'?!:;\"(){}[]<>-"; + String noPunct = ""; + + String[] words = s.split(" "); + for (int i = 0; i < words.length; i++) { + char[] letters = words[i].toCharArray(); + String newWord = ""; + for (int j = 0; j < letters.length; j++) { + if (!punct.contains("" + letters[j])){ + newWord += letters[j]; + } + } + noPunct += newWord; + if (i != (words.length - 1)) + noPunct += " "; + } + + return noPunct; + } + + +} + + /***************************************** + + PALINDROME TESTER + "Hello there!" she said. + 4 + false + + A Santa lived as a devil at NASA. + 8 + true + + Flo, gin is a sin! I golf. + 7 + true + + Eva, can I stab bats in a cave? + 8 + true + + Madam, I'm Adam. + 3 + true + + **********************************************/ + diff --git a/01 Strings/06 LogMessage/Log Message.doc b/01 Strings/06 LogMessage/Log Message.doc new file mode 100644 index 0000000000000000000000000000000000000000..ab6ee5f1fd82cb48bed9d1da175014a83f983697 GIT binary patch literal 55808 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 literal 0 HcmV?d00001 diff --git a/01 Strings/06 LogMessage/LogMessage.class b/01 Strings/06 LogMessage/LogMessage.class new file mode 100644 index 0000000000000000000000000000000000000000..b3e6d1447fddd7af435596ac83c84b273929a8fb GIT binary patch literal 1627 zcmaJ>U31$+6g?YRmSd|jIO9ve|K5wc8RX)E~*ma-}ET_R602 z9k*Q-$hB0^^qszTJXavS<+zT%E>K(;H!j~7NY%WS5}2wp=G~*i1Lg0_gB~@7y4RGw z`_gy9^+1`@9VZa5>vgZ)P(dKuiYcwbSmee)x+i^2yXhaslhUZ^xmr4I@WAs~MIy3? zMD|m(ZFSXgEScfNsAu-HY<3&6AAz!P&B83Bwv}!SxjDB`PRgC9)y+|YGTMu&6Ugp) zM}AZ7IAQtI!wUCRps$2X+c=920kLW03vf7typ1X3shYD<#g>haanZ&+E()C8_B+LyORV{ogaA~Z*By0i~-fqXQKgYWPnBc=6 zizK!gXA|rUyu&fP6gn{Y0Hw;`5Q~M06Bv!klCk<1QkA6?C-aZUcben7^aVDMV(aFx zN&hNlv4wNg&c#tsq*eGUVTRdwm9V+rqtyiE63!2@KIPh?)mr6Gn1ythbm{K$^YxUm zZWhgA>Nk{@i{|QPdN#dy0_#_psV6_1;`f*T8c*nEAcRvwn&S;*vCZ@~lyMV_l&@kZ zf>a^UkcRgOB(z+64Q>q|MBuXYxe$T-ko)Ihyky|Cg`9;s3m@^%cE-$$h%YrU-?je%0KQ{b literal 0 HcmV?d00001 diff --git a/01 Strings/06 LogMessage/LogMessageTest.class b/01 Strings/06 LogMessage/LogMessageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7884a659fb5b4f69023e83a36fdf8e23c07383f8 GIT binary patch literal 1889 zcmaJ?OH&(15dH=|c99o@mzQzCUMDyKjFEu^+ma!P1;hji6IO-@oW~%Iq&2Hu)$WKC z_uO+zD(75sb`H48srU!@7v&VES4%*$RMDfSr>DE;`?kBKH~+kP4d5QE1m4441@kHv zR4l6aSj8tQmQ>tRabLv)6)6>I6%SP`t5{L-se;cExPs4n@d%kfTMfjTiuGXqLZ`f& z31pE|u%+M$L;RuTSaO9SGBv%+5Y4zH!O)+z9I@4?9SSec4{fsOS+~gTUG7=I{>&Ja zRm*1>$Y$M2PWV2rh`jJ+n)1}RLuQ%~2m|;kmZo?~zbt@n-*p729fTm#_6U5gd}u^gk!ExX|f0x+^C4t?Pr3oli& z{3F9Hmu-5IbYQOS?5^$1r^*Dxa9nAW-G)y^k-bT~Tk8)m*GEn<`U+QpQ;hu>Wxv0D6R?ROU~`T51jzHGRf)V$^nW7# zXUsJj&LB#*aooa(^qwMa#0=Azp*2r`XSYdXn5Eq)dfwt0VhZkr9~uMvjr(-n c93A)2Q!UY&AooL*QN$P?(_W?h27SN$7rF)O%K!iX literal 0 HcmV?d00001 diff --git a/01 Strings/06 LogMessage/LogMessageTest.java b/01 Strings/06 LogMessage/LogMessageTest.java new file mode 100644 index 0000000..134a5f7 --- /dev/null +++ b/01 Strings/06 LogMessage/LogMessageTest.java @@ -0,0 +1,184 @@ +// Name: B6-24 +// Date: 09/16/19 +import java.util.*; + +public class LogMessageTest +{ + public static void main(String[] args) + { + String[] messages = { + "CLIENT3:security alert - repeated login failures", + "Webserver:disk offline", + "SERVER1:file not found", + "SERVER2:read error on disk DSK1", + "SERVER1:write error on disk DSK2", + "Webserver:error on /dev/disk", + "True:disk", + "True:error on disk", + "True:error on /dev/disk disk", + "True:error on disk DSK1", + "False:DISK", + "False:error on disk3", + "False:error on /dev/disk", + "False:diskette"}; + + // Parts A and B + for (String s : messages) + { + LogMessage msg = new LogMessage(s); + System.out.println(msg.getMachineId() + ":" + msg.getDescription() + " ==> " + msg.containsWord("disk")); + } + + // Part C +// SystemLog theLog = new SystemLog(messages); +// LogMessage[] removed = theLog.removeMessages("disk"); +// +// System.out.println(); +// +// System.out.println("Removed messages:\n"); +// for (LogMessage msg : removed) +// System.out.println(msg); +// System.out.println(); +// +// System.out.println("Remaining messages:\n"); +// System.out.println(theLog); + + } +} + +class LogMessage +{ + private String machineId; + private String description; + + /* Part (a) */ + public LogMessage(String message) + { + String[] messageParts = message.split(":"); + machineId = messageParts[0]; + description = messageParts[1]; + } + + /* Part (b) */ + public boolean containsWord(String keyword) + { + String[] words = description.split(" "); + for (String word : words) + if (word.equals(keyword)) + return true; + + return false; + } + + public String getMachineId() + { + return machineId; + } + + public String getDescription() + { + return description; + } + + public String toString() + { + return getMachineId() + ":" + getDescription(); + } +} + +class SystemLog +{ + private LogMessage[] messageList; + + public SystemLog(String[] messages) + { + messageList = new LogMessage[messages.length]; + for (int i=0;i false + Webserver:disk offline ==> true + SERVER1:file not found ==> false + SERVER2:read error on disk DSK1 ==> true + SERVER1:write error on disk DSK2 ==> true + Webserver:error on /dev/disk ==> false + True:disk ==> true + True:error on disk ==> true + True:error on /dev/disk disk ==> true + True:error on disk DSK1 ==> true + False:DISK ==> false + False:error on disk3 ==> false + False:error on /dev/disk ==> false + False:diskette ==> false + + + // Part c + + Removed messages: + + Webserver:disk offline + SERVER2:read error on disk DSK1 + SERVER1:write error on disk DSK2 + True:disk + True:error on disk + True:error on /dev/disk disk + True:error on disk DSK1 + + Remaining messages: + + CLIENT3:security alert - repeated login failures + SERVER1:file not found + Webserver:error on /dev/disk + False:DISK + False:error on disk3 + False:error on /dev/disk + False:diskette + + ********************************************/ \ No newline at end of file diff --git a/01 Strings/06 LogMessage/SystemLog.class b/01 Strings/06 LogMessage/SystemLog.class new file mode 100644 index 0000000000000000000000000000000000000000..02598a9f0edebd9569955e973d812be3995c44c1 GIT binary patch literal 1280 zcmaJ=T~8B16g|^z*;0zdmhxpm6wtO?L92pN;K3$DlC3_JU<`>mEt9ge-EF!93GXC+ z`~dZt7hg5ekYMZ&@Q>(EFg}QP=}Jr5_|Tm@cg~%2?&+QHe~udf7O)b4A6HdO^+LsT z03OWvaV<<|Nfnxk6hmKC*fuW--LNG?|E8{6rCc+WVdz;hOhc|P48=F~9lposD%>p1 zlHd2?Dyjafh+Uad7qEsWTrWl67c%oAxgHp9i48ik#G2#e!qE*~b z5nu@9t=)Q2tQt-uk(MLt!j`j+4MFr_mT;}3AbJsS(sK-87HzwVT{<90OODLSzcz#ZJBP8lQZ!&P1uS<5VP z`NWXh6xouSk{V8TDQ>r=i+w8Q9mR_b(=C;Txo4GyI|NOpRbG@}(7DWHPo!-5pY0g7#ZdHUm-7L&>w%C?ASGc}k6J6l#!_%}h)83nVMV418 zc|(efie-kGj{dr7W0?3q4wLlK{Pe&WJvN#MiaZqeAxPhT+Py;$6k1csBe0~__y*4x zD9Un7YaC)U`58*=D?CrNSo#Rw{DFskIQj93@Cq)_cZ{lmXYk@V-Sz@eaLmxEp@0yb zOcE}H7zS{Wc!>pJL}+!QK|<3*rZ@u63BeQ$LaNK2E>H EU!dJGH2?qr literal 0 HcmV?d00001 diff --git a/01 Strings/07 Cemetery/Cemetery$1.class b/01 Strings/07 Cemetery/Cemetery$1.class new file mode 100644 index 0000000000000000000000000000000000000000..77359254a637ce62daec39df4122f13f0894660b GIT binary patch literal 532 zcmYjO+fKqj5ItK8r4FaUVaI?H;hu(l4F?Q~OIzB(6+^68>M*Dcwczq^)}lr-w_ZBNrs6n-ugI!1vx8E=B9o4S>kg7|`h=$xpS2__(4{9wwsLP=?pw!HY!MEyS| z+f4l65Aa7BpIbH{j<{s^^qzapd7eJ!-2VRa^A~`5Jnup`Otnm?Wl}9uNf?+;!oo}v z8O$be2XhJBRh~H=_jKIX@j#&a&~|fy3=iBW6c{Y;*@yPA6&^X>j`ey&9!JGM+6w}@ zinD`2pzD44tqelnqc^R*p|pd_ZgEGxaHP8}Fw|NkK4E-kwCjYq86ESibCUP+-HL#* z;(0PCxpo*z(&#Ujy>S%+RnLT%Dr zbtKO~deP2uUr6yQZs6NFu+foxj5IqA68!%@qGS|-&pWx>X@1s5|G zvbbYm7IP`wRh~H$_e|V3@qnTGfcyDK#QVOC8HUPx{D2?1@u3&&xNp|Qkz9%dUtlm* z9FHP~uFdj05yfFZ-hSnc1&^w`6hRN3@5AT6H4fmyI!21F)>etP7`0fUtzFU zf`lHRtpyeBw;oAGrr05Q(DCh2BQ>i3x>Y3 z7l_J!ZA(P!e9I?KrW{tezriCjr}i(!CDLVqbkX)i1jojnpQm{%;li!hcPwot&qFnwv7=y zWJpy+EMJGQH1WvB0ETV!qR&PemuzIvufi5gEZTUCCpMnqnTaJE&rxCkb)t#VYD9jP zA+0c7pVO4AZtaPxWEj`3f8Vd{#ZpjfNyua+>U-g=J4%C8GlrqPpd5pVd2Gy>xg(?+ zPhwaoo~owVtjUNJpcYuIv1D*tFv-{p)3XU+HA{34;wEmk(b4m;#SL7g%V(2tJuuQ~ zB{e{n)Yg^+*OvM~SGSG+BN(OV%k)&CeFxc5XQB?~OxDrnOx4luj2Lwo&UbWt(>Y_b zc2W-T3FEX5>N=yif*kEAUv-(z8F9JRsJ)4H9hGyAsp>HmJ%(|D&L1#OkW!mW*9oi^ zKrbZ#pXt-_g$jQ?2b4Pl%HcY05P*R^#kS!lZjm)8=Qax3Q^XM244q|BB%?M@Rx6g>kA+m;1tr9crxZPj-9ShRkiAPNN)Q^5r6AAgvkjId)_`?VAp^SHymJ*iOq;q%f+Zer2mFYiSi!OF?pbfP#fe<@1z%v$ zRUG$yhWLl_JK+bOOWus~27>$5{gs+;b7z%H@zNH~F2iWFR(L{by>j0Ua&tQ7soZJ$ ztM}^+#=7eYzvS>B5X5GvToQ*u3jcEpgMw7{qV3vpiD5H;SwIvvyuuml==mwFLWMyq zdAovPuxz_xqjtC>{B6GDkSA64s@$n?x+CpdPEB2dVfYdjxgrrAUlviU<5Y)zaWOhmRIwuB(oyc-Q2TT#+HEFfE7EtZeQah^l0m2wfNNSGEHwsI??yv=a3_f7TtPL989a(4AL~;mB0B zW=!7`QVl6F%ok2o3)yT*pA?`LBrgspgVh0xW?Wh%9f4O9Mejt=Mo+i;dLFz`!3}y5 z4U(@PS~95w2gs7@~ literal 0 HcmV?d00001 diff --git a/01 Strings/07 Cemetery/Cemetery$searchGUI$4.class b/01 Strings/07 Cemetery/Cemetery$searchGUI$4.class new file mode 100644 index 0000000000000000000000000000000000000000..7e5196c74575427945de4a0c445b9079b130d18c GIT binary patch literal 1200 zcmb7DZBG+H5Pr5?dwn^i7AUQNqPAL&mjkVef+UEjn2IJKU;MO`6^>l*lDloeKV#zC z4=}Ns_`x6Gk220Klp0G+Y|@$8*_nN2o|*gk>-!G?3s_DejY%bJC8m^^R$?ZN3}%yX z(wM`18aFU+;--nJiCYYr7WYb_h?<^^7)ELbyv2{4=+O1|oTppjNUnr}FEZp*TqJl{ z-(T4ik6hvHG8B5l^$o=jcH=jAqmxkVdLJ}HmwOMn?A#^fz8jV1Ox$Kj9V0z{xz1p% z`@RTQJsw4ZN*t=KiiVIPd~;F`1rc6i$@N{i%+RWw70_F#?yJ{*T>t<2C$|}l)nHdJ z4Afj-Y&07?BHZFT9(i)Lpw7K*PW{sP#A&E*8S-ZoTdGn&1H3NXz<(ja*Fo42ME0eM zuFBzu(h)7;OJ_xgtSNg@Rlo>r>|a3)>CK=S)`@aeSbvAfSv7UST=VN*5YgzL3ArEa zS}5QSLvlkz@<|X$6AKmwF=C+~=PV2$YvH^SIVB3X%K#JiEG%Nl#C@7o2cSEuQk5aA z;2e+Biap;s5Ov8gu3dk(R&ygMX!yio?@P29l~*+)C<=VtezFt8&{t7>44=8o3}z&x zT5XCr;Z)bMDMM;qKb7yv)O&#m`kpc%WW=*s#R5Q@h|rq2(3PZ7_SfjhH>tMxR|Y+A!>5yp6d14T;Y>bChI)GJ&@kBbnE)O<)`s=|r!n zanL<&2ieC6F2yL!vi$|IocR?=GWwK}BE#qyacy*A@`zK?JEZWQ=J^4m_=pld{Q+A( pg)QSUt`MAotCSO?xH4%2L%4?P+EbxYLGQ%KSHUp7nx-@TegkL28pHqq literal 0 HcmV?d00001 diff --git a/01 Strings/07 Cemetery/Cemetery$searchGUI.class b/01 Strings/07 Cemetery/Cemetery$searchGUI.class new file mode 100644 index 0000000000000000000000000000000000000000..1539210e29c444d500c5c2c64ba2ebf31f7b2eb3 GIT binary patch literal 5260 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 literal 0 HcmV?d00001 diff --git a/01 Strings/07 Cemetery/Cemetery.class b/01 Strings/07 Cemetery/Cemetery.class new file mode 100644 index 0000000000000000000000000000000000000000..6daecc20007aa9255faa86518d044d40f25061f5 GIT binary patch literal 6300 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 Wo8!fl{2rd=d;RwPe*2i;j{g=+Db4%< literal 0 HcmV?d00001 diff --git a/01 Strings/07 Cemetery/Cemetery.docx b/01 Strings/07 Cemetery/Cemetery.docx new file mode 100644 index 0000000000000000000000000000000000000000..1e4d2d59a44182ca03025ff1bd1fc3bffb7f14f6 GIT binary patch literal 101841 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%0D>|rUD58 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 IAFBTU2a*_b;{X5v literal 0 HcmV?d00001 diff --git a/01 Strings/07 Cemetery/Cemetery.java b/01 Strings/07 Cemetery/Cemetery.java new file mode 100644 index 0000000..d077538 --- /dev/null +++ b/01 Strings/07 Cemetery/Cemetery.java @@ -0,0 +1,534 @@ + // Name: B6-24 +// Date: 09/18/19 +import java.util.Scanner; +import java.io.File; +import java.text.DecimalFormat; +//here any additional imports that you may need +import java.io.FileNotFoundException; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +public class Cemetery +{ + public static void main (String [] args) + { + File file = new File("cemetery_short.txt"); + int numEntries = countEntries(file); + Person[] cemetery = readIntoArray(file, numEntries); + int min = locateMinAgePerson(cemetery); + int max = locateMaxAgePerson(cemetery); + //for testing only + for (int i = 0; i < cemetery.length; i++) + System.out.println(cemetery[i]); + System.out.println("In the St. Mary Magdelene Old Fish Cemetery --> "); + System.out.println("Name of youngest person: " + cemetery[min].getName()); + System.out.println("Age of youngest person: " + cemetery[min].getAge()); + System.out.println("Name of oldest person: " + cemetery[max].getName()); + System.out.println("Age of oldest person: " + cemetery[max].getAge()); + //you may create other testing cases here + //comment them out when you submt your file to gradeit + + + /* Extension: + + For the extension, I made two ways to search the data, for I've got + much too much time on the bus ride home. Both methods only require + a Person array as arguments. + + runSearch() allows the user to search via a text-based interface by + age, burial date, and name + + searchGUI() starts a GUI(not the prettiest thing) made with swing to + be able to search by age, burial date, and name + + */ + //Run TUI + runSearch(cemetery); + + //Run GUI + //new searchGUI(cemetery); + + } + + + // + public static class searchGUI extends JFrame { + + public searchGUI (Person[] arr) { + + JPanel panel = new JPanel(); + panel.setLayout(new BorderLayout()); + + JLabel title = new JLabel("Cemetery Search System"); + title.setHorizontalAlignment(JLabel.CENTER); + title.setVerticalAlignment(JLabel.CENTER); + title.setFont(title.getFont().deriveFont(18.0f)); + + panel.add(title , BorderLayout.NORTH); + + + GridLayout gridLayout = new GridLayout(3,3); + JPanel gridPanel = new JPanel(); + gridPanel.setLayout(gridLayout); + + JLabel searchAgeLabel, searchNameLabel, searchBurialDateLabel; + searchAgeLabel = new JLabel("Search by age:"); + searchNameLabel = new JLabel("Search by name:"); + searchBurialDateLabel = new JLabel("Search by burial date:"); + + searchAgeLabel.setFont(searchAgeLabel.getFont().deriveFont(15f)); + searchBurialDateLabel.setFont(searchBurialDateLabel.getFont().deriveFont(15.0f)); + searchNameLabel.setFont(searchNameLabel.getFont().deriveFont(15.0f)); + + searchAgeLabel.setHorizontalAlignment(JLabel.CENTER); + searchNameLabel.setHorizontalAlignment(JLabel.CENTER); + searchBurialDateLabel.setHorizontalAlignment(JLabel.CENTER); + + JButton searchAgeButton, searchNameButton, searchBurialDateButton; + searchAgeButton = new JButton("SEARCH"); + searchNameButton = new JButton("SEARCH"); + searchBurialDateButton = new JButton("SEARCH"); + + JTextField searchAgeField, searchNameField, searchBurialDateField; + searchAgeField = new JTextField(8); + searchNameField = new JTextField(10); + searchBurialDateField = new JTextField(11); + + JPanel[] gridPanels = new JPanel[9]; + for (int i = 0; i < gridPanels.length; i++) + gridPanels[i] = new JPanel(); + + gridPanels[0].add(searchAgeLabel); + gridPanels[1].add(searchNameLabel); + gridPanels[2].add(searchBurialDateLabel); + gridPanels[3].add(searchAgeField); + gridPanels[4].add(searchNameField); + gridPanels[5].add(searchBurialDateField); + gridPanels[6].add(searchAgeButton); + gridPanels[7].add(searchNameButton); + gridPanels[8].add(searchBurialDateButton); + + for (int i = 0; i < gridPanels.length; i++) + gridPanel.add(gridPanels[i]); + + JTextArea results = new JTextArea(7, 45); + JButton clearButton = new JButton("Clear"); + JPanel bottomPanel = new JPanel(); + bottomPanel.setPreferredSize(new Dimension(500, 150)); + bottomPanel.add(results); + bottomPanel.add(clearButton); + panel.add(bottomPanel, BorderLayout.SOUTH); + + panel.add(gridPanel, BorderLayout.CENTER); + + add(panel); + + searchAgeButton.addActionListener( + new ActionListener(){ + @Override + public void actionPerformed(ActionEvent e) { + results.setText(searchAge(arr, searchAgeField.getText())); + searchAgeField.setText(""); + } + }); + + searchNameButton.addActionListener( + new ActionListener(){ + @Override + public void actionPerformed(ActionEvent e) { + + results.setText(searchName(arr, searchNameField.getText())); + searchNameField.setText(""); + } + }); + + searchBurialDateButton.addActionListener( + new ActionListener(){ + @Override + public void actionPerformed(ActionEvent e) { + results.setText(searchBurialDate(arr, searchBurialDateField.getText())); + searchBurialDateField.setText(""); + + } + }); + + clearButton.addActionListener( + new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + results.setText(""); + searchAgeField.setText(""); + searchNameField.setText(""); + searchBurialDateField.setText(""); + } + }); + + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + setSize(500, 300); + + setVisible(true); + } + + + public static String searchName(Person[] arr, String searchTerm) { + + searchTerm = searchTerm.toLowerCase().trim(); + + + String queryResults = ""; + + boolean nameFound = false; + for (int i = 0; i < arr.length; i++) { + String currentName = arr[i].getName().toLowerCase().trim(); + if (currentName.equals(searchTerm)) { + queryResults += arr[i].toString() + "\n"; + nameFound = true; + } + } + + if (!nameFound) + queryResults = "NO PEOPLE FOUND"; + + return queryResults; + } + + public String searchBurialDate(Person[] arr, String searchTerm) { + searchTerm = searchTerm.toLowerCase().trim(); + String queryResults = ""; + boolean dateFound = false; + for (int i = 0; i < arr.length; i++) { + String currentDate = arr[i].getBurialDate().toLowerCase().trim(); + if (currentDate.equals(searchTerm)) { + queryResults += arr[i].toString() + "\n"; + dateFound = true; + } + } + + if (!dateFound) + queryResults = "NO PEOPLE FOUND"; + return queryResults; + } + + public String searchAge(Person[] arr, String searchTerm) { + + String queryResults = ""; + + Person holder = new Person("", "", 0.0); + double searchValue = holder.calculateAge(searchTerm); + boolean ageFound = false; + for (int i = 0; i < arr.length; i++) { + double currentAge = arr[i].getAge(); + if (currentAge == searchValue) { + queryResults += arr[i].toString() + "\n"; + ageFound = true; + } + } + + if (!ageFound) + queryResults = "NO PEOPLE FOUND"; + + return queryResults; + + } + + } + + + + /* Counts and returns the number of entries in File f. + Returns 0 if the File f is not valid. + Uses a try-catch block. + @param f -- the file object + */ + public static int countEntries(File f) + { + Scanner file = null; + + try { + file = new Scanner(f); + int counter = 0; + while (file.hasNextLine()) { + file.nextLine(); + counter++; + } + return counter; + + } catch(FileNotFoundException e) { + return 0; + } + } + + /* Reads the data from file f (you may assume each line has same allignment). + Fills the array with Person objects. If File f is not valid return an empty array. + Uses a try-catch block. + @param f -- the file object + @param num -- the number of lines in the File f + */ + public static Person[] readIntoArray (File f, int num) + { + Scanner file = null; + + try { + file = new Scanner(f); + } catch(FileNotFoundException e) { + return new Person[0]; + } + + Person[] dataArr = new Person[num]; + + int counter = 0; + while (file.hasNextLine()) { + Person person = makeObjects(file.nextLine()); + System.out.println(person.toString()); + dataArr[counter] = person; + counter++; + + } + + return dataArr; + } + + /* A helper method that instantiates one Person object. + @param entry -- one line of the input file. + This method is made public for gradeit testing purposes. + This method should not be used in any other class!!! + */ + public static Person makeObjects(String entry) + { + String name = entry.substring(0, 25); + String date = entry.substring(25, 37); + String age = entry.substring(37, 42).trim(); + Person person = new Person(name, date, 0.0); + person.setAge(person.calculateAge(age)); + return person; + } + + /* Finds and returns the location (the index) of the Person + who is the youngest. (if the array is empty it returns -1) + If there is a tie the lowest index is returned. + @param arr -- an array of Person objects. + */ + public static int locateMinAgePerson(Person[] arr) + { + if (arr.length == 0) + return -1; + + int index = 0; + double lowestValue = 99999999.0; + + for (int i = 0; i < arr.length; i++) { + if (arr[i].getAge() < lowestValue) { + index = i; + lowestValue = arr[i].getAge(); + } + } + + return index; + } + + /* Finds and returns the location (the index) of the Person + who is the oldest. (if the array is empty it returns -1) + If there is a tie the lowest index is returned. + @param arr -- an array of Person objects. + */ + public static int locateMaxAgePerson(Person[] arr) + { + if (arr.length == 0) + return -1; + + int index = 0; + double highestValue = 0.0; + + for (int i = 0; i < arr.length; i++) { + if (arr[i].getAge() > highestValue) { + index = i; + highestValue = arr[i].getAge(); + } + } + + return index; + } + + + /* Extension: + + The methods below allows the user to search the cemetery by name, burial date, or age of death with a text based interface. + + + */ + + + public static void runSearch(Person[] arr) { + Scanner sc = new Scanner(System.in); + + System.out.println("Would you like to run a search on the cemetery(y/n)?"); + String s = sc.nextLine().trim(); + if (s.equals("n") || s.equals("no")) + System.exit(0); + + + while(true) { + System.out.println("\n"); + System.out.println("Welcome to the search system for your cemetery!\nType in a field you want to search by(name, burialdate, or age) or type exit to exit:"); + + s = sc.nextLine().trim(); + System.out.println("\n\n\n\n\n\n\n\n"); + if (s.toLowerCase().equals("exit")) { + System.out.println("Goodbye!"); + System.exit(0); + } else if (s.toLowerCase().equals("name")) { + searchName(arr); + } else if (s.toLowerCase().equals("burialdate") || s.toLowerCase().equals("burial date")) { + searchBurialDate(arr); + } else if (s.toLowerCase().equals("age")) { + searchAge(arr); + } + } + } + + public static void searchName(Person[] arr) { + Scanner sc = new Scanner(System.in); + + System.out.println("You chose NAME! Type in a name to search by, case doesn't matter(or type back to return)"); + String searchTerm = sc.nextLine().toLowerCase().trim(); + System.out.println("\n"); + if (!searchTerm.equals("back")) { + System.out.println("Here are the results of your query:"); + boolean nameFound = false; + for (int i = 0; i < arr.length; i++) { + String currentName = arr[i].getName().toLowerCase().trim(); + if (currentName.equals(searchTerm)) { + System.out.println(arr[i].toString()); + nameFound = true; + } + } + + if (!nameFound) + System.out.println("NO PEOPLE FOUND"); + } + } + + public static void searchBurialDate(Person[] arr) { + Scanner sc = new Scanner(System.in); + + System.out.println("You chose BURIAL DATE! Type in a date to search by as follows: 03 Apr 1850(or type back to go back)"); + String searchTerm = sc.nextLine().toLowerCase().trim(); + System.out.println("\n"); + if (!searchTerm.equals("back")) { + System.out.println("Here are the results of your query:"); + boolean dateFound = false; + for (int i = 0; i < arr.length; i++) { + String currentDate = arr[i].getBurialDate().toLowerCase().trim(); + if (currentDate.equals(searchTerm)) { + System.out.println(arr[i].toString()); + dateFound = true; + } + } + + if (!dateFound) + System.out.println("NO PEOPLE FOUND"); + } + } + + public static void searchAge(Person[] arr) { + Scanner sc = new Scanner(System.in); + + System.out.println("You chose AGE! You can search by weeks(14w), days(6d), years(34), or a decimal value(.011). Type the age below: (or type back to go back)"); + String searchTerm = sc.nextLine().toLowerCase().trim(); + + System.out.println("\n"); + + if (!searchTerm.equals("back")) { + System.out.println("Here are the results of your query:"); + Person holder = new Person("", "", 0.0); + double searchValue = holder.calculateAge(searchTerm); + boolean ageFound = false; + for (int i = 0; i < arr.length; i++) { + double currentAge = arr[i].getAge(); + if (currentAge == searchValue) { + System.out.println(arr[i].toString()); + ageFound = true; + } + } + + if (!ageFound) + System.out.println("NO PEOPLE FOUND"); + } + } +} + +class Person +{ + //constant that can be used for formatting purpose + private static final DecimalFormat df = new DecimalFormat("0.0000"); + /* private fields */ + private double myAge; + private String myName, myBurialDate; + + + + /* a three-arg constructor + @param name, birthdate may have leading or trailing spaces + It creates a valid Person object in which each field has the leading and trailing + spaces eliminated*/ + public Person(String name, String burialDate, double age) + { + myName = name; + myBurialDate = burialDate; + myAge = age; + + } + /* any necessary accessor methods (at least "double getAge()" and "String getName()" ) + make sure your get and/or set methods use the same datat type as the field */ + + double getAge() { + return myAge; + } + + String getName() { + return myName; + } + + String getBurialDate() { + return myBurialDate; + } + + void setAge(double age) { + myAge = age; + } + + void setName(String name) { + myName = name; + } + + void setBurialDate(String date) { + myBurialDate = date; + } + + public String toString() { + return myName+myBurialDate+myAge; + } + + /*handles the inconsistencies regarding age + @param a = a string containing an age from file. Ex: "12", "12w", "12d" + returns the age transformed into year with 4 decimals rounding + */ + public double calculateAge(String a) + { + double ageValue = 0.0; + if (!Character.isLetter(a.charAt(a.length() - 1))) { + ageValue = Double.parseDouble(a); + } else { + if (a.charAt(a.length() - 1) == 'd') { + ageValue = Double.parseDouble(df.format(Double.parseDouble(a.substring(0, a.length() - 1)) / 365)); + } else if (a.charAt(a.length() - 1) == 'w') { + ageValue = Double.parseDouble(df.format((Double.parseDouble(a.substring(0, a.length() - 1)) * 7) / 365)); + } + } + + return Double.parseDouble(df.format(ageValue)); + } +} \ No newline at end of file diff --git a/01 Strings/07 Cemetery/Person.class b/01 Strings/07 Cemetery/Person.class new file mode 100644 index 0000000000000000000000000000000000000000..6a2c17cb7b6966fce083a04bbd494cf83c8d1bef GIT binary patch literal 2349 zcmaJ>T~ixX7=F%f*o0*RG<;dCl~Sy{tB~{VjO`I!<9xn>iyF z2x2LOYhv$u5U&UE27{8n!*Dvg$+vmZGvD`;X)|Y)xIOQdOWd1eXe-rb3nl|gGiasS z5--sr;s@B=DI}M@vgH)W(;V~>$bem&2f8`Q+it0Hv`^=RbdEaubbtH>kx#1BjM@m4LDRT;A;iblRVUD zjF<#z=~L;A#+tz}gvsFun@T-C5S2)SwDuG9wV)@sgvp~ZLm)3@33;xs7zsv{a#fqQ zC9;-@2rJ{nkw~m^yGl&L%O1}a7x`9Qh0s*at}9L4=wf}@t(J4b# zk}9Jg21>kWrd%h-y*10*AgkhW$D^W8v{1ddj_H=QZMbv46q;>11#g4yjm9zrFSo(V zvmP~6G!siP^c7k+rMgZ^(}Q8? zk7hD0@o9JD<74QfUTY>5L_t)h$S`sU%W}5eqFH~8zGCwP(=FG6C=sEo>lUk9)N>if zG0Q2NS1KmS_+g`r^&EZ^EN~}po0SniaIzUj!_JYwmD-ls!u?i*zhCLeMsD>KDQ?@# zmS;`|;V_Ig@oR;R;q3qWVTeAAee?+oQ0G&_lBI~wmovQuIn#5XSqGyAJxk-0w6dY1 zjpp9?eXw|97fSr%F4TBz7lF@Y)DVsR!iRm20Q&*$>_>F6pU}g8#yL8R)14HLVVtK~ zSR-@~lh!C%inN|0EGk(S5Ut;wq!Z!Q7XK1~PsmV+1fYpc_KQqy_znlDV|1AhJ4y3? zu=44#;NMyXCt3!p$Af=w8GI3!>Nigl4M9YUUpOL>E{L)}(8m6h8Tuu0?Et$5A%Va= z27z9PKTSSD9!&~=D7T;MFUs}z3Ay$q9&epXJ)Y|k<@)D@Tu;k#F?EiA|ct%iN$BX;JbST8C&oOaHn5 E0O{)8_5c6? literal 0 HcmV?d00001 diff --git a/01 Strings/07 Cemetery/cemetery.txt b/01 Strings/07 Cemetery/cemetery.txt new file mode 100644 index 0000000..37e098e --- /dev/null +++ b/01 Strings/07 Cemetery/cemetery.txt @@ -0,0 +1,612 @@ +John William ALLARDYCE 17 Mar 1844 2.9 Little Knight Ryder Street +Frederic Alex. ALLARDYCE 21 Apr 1844 0.17 Little Knight Ryder Street +Philip AMIS 03 Aug 1848 1 18 1/2 Knight Rider Street +Thomas ANDERSON 06 Jul 1845 27 2, Bennet's Hill +Edward ANGEL 20 Nov 1842 22 Crane Court Lambeth Hill +Sarah ANGELL 09 Oct 1836 42 Lambeth Hill +Sarah ANSELL 31 May 1829 29 High Timber St, Upper Thames St +Charles ANTHONY 22 Jul 1849 6 3,Taylor's Court, Lambeth Hill +Sarah Ann ANTHONY 06 Aug 1828 47 Lambeth Hill +Sarah ARLETT 27 May 1849 2 5, Little Knight Rider Street +Hannah AUSTIN 23 Feb 1819 41 Box MDX +Oliver AUSTIN 19 Feb 1816 0.5 Mile End +Rosina AUSTIN 07 Mar 1833 20 Mile End MDX +Hannah AYLIFF 18 Jul 1832 11 Lambeth Hill +Hannah AYLIFF 10 Dec 1834 44 Crane Court Lambeth Hill +William James AYLIFF 31 Jan 1819 0.2 Crane Court Lambeth Hill +George BAKER 08 Jan 1839 46 Knight Ryder Court +Caroline BARHAM 11 Jul 1851 56 6, Pelham Place, Brompton +Richard Harris BARHAM 21 Jun 1845 57 Residentary Ho. Amen Corner +Ann BARRY 21 Sep 1842 64 Bucks Head Court +Frederick BARTLETT 29 Nov 1839 0.11 Crane Court +Mary BATEMAN 31 Oct 1847 67 24, Lambeth Hill +John Gardner BATTEN 08 Dec 1819 0.18 Westham ESS +George BAXTER 08 Sep 1835 30 Knight Rider Court +Susanna BAXTER 05 Sep 1830 40 Crane Court Lambeth Hill +Mary BEARNARD 19 Oct 1834 21 Little Knight Ryder Street +Henry BEAUMONT 21 Nov 1813 1.9 Old Change +Mary Ann BEAUMONT 15 Dec 1813 27 Old Change +Thomas BEAUMONT 08 Jun 1833 0.4 Knowles Court +George Jacob BECK 19 Apr 1846 0.7 Sermon Lane +Eleanor BECKLEY 17 Nov 1850 1 4, Lambeth Hill +Mary Ann BECKWITH 29 Jun 1828 0.10 Crane Court Lambeth Hill +Sarah BECKWITH 21 Jan 1828 2.6 Crane Court Lambeth Hill +Henry Charles BENNET 01 Aug 1847 0.15 6, Lambeth Hill +Hannah BENNETT 26 Sep 1841 0.10 Lambeth Hill +Mary Wicks BENNETT 14 Apr 1850 38 6, Lambeth Hill +William BENNETT 05 Jul 1837 0.6 Lambeth Hill +William Perkins BENNETT 28 Dec 1845 3 Lambeth Hill +Wm. Geo. Perkins BENNETT 27 Mar 1836 0.5 Lambeth Hill +George BENSTEAD 02 Apr 1837 0.7 Lambeth Hill +John Stephen BENSTEAD 29 Mar 1839 0.8 Lambeth Hill +Ann Elizabeth BENYON 04 Jan 1814 26 Crane Court Lambeth Hill +Charles James BERRY 03 Mar 1841 34 Sermon Lane +Sarah BERRY 26 Jan 1817 0.21 Little Knight, Ryder Street +Philemon BETTS 11 Apr 1820 35 Upper Thames Street +Ann BIRCH 30 Oct 1850 75 1,Taylor's Court, Lambeth Hill +Elizabeth BIRCH 09 Aug 1829 58 Lambeth Hill +Elizabeth Ann BIRCH 07 Jul 1832 2w Lambeth Hill +Sarah BIRCH 12 Aug 1832 32 Green Dragon Crt, St Andrews Hill +Sarah Lucy BIRCH 26 Feb 1834 30 Lambeth Hill +Jane BIRCHILL 31 Mar 1839 18 New Street, St Bride's +Alfred BLACKLEDGE 26 Sep 1848 21 6,Green Arbour Court, Lambeth Hill +Charles BLACKLEDGE 07 Jan 1835 2 Green Arbour Court +Charles BLACKLEDGE 07 Aug 1831 0.18 Green Arbour Court +George BLACKLEDGE 30 Aug 1831 6 Green Arbour Court +Jane BLACKLEDGE 03 Jun 1821 32 Green Arbour Court +John BLACKLEDGE 27 Sep 1835 44 Green Arbour Court +Elizabeth BLACKMORE 24 Jan 1830 52 Lambeth Hill +Thomas BODKIN 13 May 1821 23 Crane Court Lambeth Hill +Frances BOTLEY 24 Dec 1816 8 Lambeth Hill +John BOWLES 17 Aug 1817 22 Green Arbour Court +Mary BOWLES 09 May 1838 33 Green Arbour Court +Mary BOWLES 01 Dec 1850 78 Green Arbour Court, Lambeth Hill +Ann BOX 08 Feb 1815 0.15 Crane Court Lambeth Hill +Jane BRADSHAW 09 Dec 1833 0.3 Crane Court Lambeth Hill +William BRAINTRUMP 15 Sep 1839 5 Lambeth Hill +Sarah BRINDLE 11 Aug 1816 74 Taylor's Court +William BROOKES 24 Feb 1822 1 Green Arbour Court, Lambeth Hill +Elizabeth BROWN 13 Oct 1839 33 High Holborn +John BROWN 11 May 1845 26 Parr's Head Corner Peters Hill +Angelina BUCKLEY 28 Jan 1851 38 3, Morris Yard, Old Fish Street +Jacob George BUCKLEY 22 Nov 1840 0.3 Lambeth Hill +Ann BUCKMASTER 06 Apr 1817 3.10 Lambeth Hill +Mary Ann BUFFHAM 25 Jun 1839 3 Green Arbour Court, Lambeth Hill +Sarah BUNKER 01 Jul 1817 47 Little Knight Ryder Street +William BURCH 02 May 1847 71 4, Lambeth Hill +Lucy BURGESS 21 Dec 1834 45 Little Knight Ryder Street +Henry BURGMAN 21 Jan 1838 76 Little Knight Ryder Street +Ann BURGOYNE 28 Aug 1823 5 White Cross St, Cripplegate +Ann BURGOYNE 02 Sep 1833 55 Little Knight Ryder Street +John BURGOYNE 20 Nov 1814 3.9 Friars Streets Blackfriars +John BURGOYNE 05 Jan 1834 53 Little Knight Ryder Street +Mary BURGOYNE 20 Jun 1813 33 Lambeth Hill +Thomas BURGUIN 17 Mar 1816 62 Knight Rider Court +Ann CARDWELL 24 Jul 1842 48 Green Arbour Court, Lambeth Hill +Jane CAREY 31 Jan 1830 0.3 Taylor's Court, Lambeth Hill +Ann Charlotte CARPENTER 21 Nov 1851 76 14, Park Place Peckham +James CARPENTER 05 Jun 1838 67 Peckham SRY +Joseph CARPENTER 18 Jun 1829 13 Peckham SRY +Elizabeth CARTER 17 May 1842 74 Green Arbour Court, Lambeth Hill +Henry Eli CASTLEMAN 24 Sep 1839 30 Old Change +Priscilla Mary Ann CAVE 08 Mar 1814 1.2 Lambeth Hill +Mary CHAMBERS 21 Nov 1830 70 Lambeth Hill +William CHAMBERS 13 Mar 1827 75 Lambeth Hill +Charles CLARK 26 Mar 1826 2.3 Brew Street Hill +Elizabeth CLARK 23 Aug 1818 64 Lambeth Hill +Emma CLARK 14 Oct 1849 4 15, Old Change +George CLARK 09 Dec 1821 68 Lambeth Hill +Isabella CLARK 08 Apr 1813 7d Little Knight Ryder Street +Mary Jane CLARK 12 May 1838 20 Old Change +William Penn CLARK 21 Apr 1833 40 Bell Square, Bishopsgate +Thomas CLOSE 29 Jun 1824 55 Little Knight Ryder Street +Ellen COCHRAM 11 Jun 1848 42 27, Addle Hill +John COCKERING 19 Dec 1849 7 18, Old Change +Elizabeth COCKHEAD 09 Jun 1850 21 New Street, Blackfriars +Eliza Erinder COGGER 04 Nov 1823 0.10 Peters Hill +Lucy Ann COLEBACK 23 Jul 1843 4w Lambeth Hill +Charles COLES 01 Dec 1833 2 Great Carter Lane +Eliza COLES 16 Apr 1826 10 Crane Court Lambeth Hill +Jane COLES 05 Jul 1832 5 Great Carter Lane +John COLES 09 Oct 1836 17 Great Carter Lane, Doctors Commos +William COLES 28 Apr 1833 3.10 Great Carter Lane +Richard COLLETT 01 Oct 1843 39 Old Change +Thomas William COLLEY 08 Aug 1833 4d Lambeth Hill +Joseph COLLIER 03 Apr 1831 58 Lambeth Hill +James Robert COLLINS 25 Mar 1834 1.6 Lambeth Hill +Sarah COLLINSON 15 Sep 1839 0.2 Knight Rider Court +John Speechley COOK 09 Mar 1817 2 Great Carter Lane +Elizabeth COOKE 27 Aug 1825 39 Crew Lane +Emma COOKSON 16 Jul 1826 0.3 Old Change +Emma COOKSON 16 Jul 1826 0.3 Old Change +Elizabeth COSTER 24 Sep 1826 42 Crane Court Lambeth Hill +Mary COWLING 13 Nov 1825 0.10 Lambeth Hill +Mary Ann COX 08 Aug 1833 4d St Peters Hill +Alice CRAGG 11 Aug 1834 2 Taylor's Court, Lambeth Hill +John CRAGG 19 Aug 1832 34 Green Arbour Court, Lambeth Hill +John CROCKFORD 16 Jul 1834 67 Crane Court Lambeth Hill +Harriot CROFT 08 Oct 1819 31 Portpool Street St Andrews Holbon +Margaret CROFT 20 Jan 1819 0.2 Little Knight Ryder Street +James CROLL 19 Apr 1829 43 Lambeth Hill +Charles CROOT 09 Jun 1818 2 Windsor Crt Little Knight Rider Court +Charles Neal CUMMINGS 12 Dec 1825 18 Great Carter Lane +Ann CUMMINS 16 Jun 1832 66 Great Carter Lane +Thomas CUNNINGHAM 07 Jun 1846 17 21, Lambeth Hill +Ann DALBY 11 Aug 1839 60 Green Arbour Court, Lambeth Hill +Thomas DALBY 18 Apr 1841 25 Green Arbour Court, Lambeth Hill +William DALBY 29 May 1842 65 Green Arbour Court, Lambeth Hill +William DAVIS 28 Jun 1845 71 Ludgate Street +William DAWES 25 Aug 1833 65 Taylor's Court, Lambeth Hill +Mary DAWSON 20 Oct 1850 62 14, Sermon Lane +James DAY 22 Jan 1815 0.13 Sermon Lane +John DAY 17 Nov 1819 1 Sermon Lane +Richard DAY 29 Apr 1819 36 Sermon Lane +Mary Ann DEACH 29 Oct 1843 0.22 Lambeth Hill +Jane DERBYSHIRE 19 Jan 1817 2 Old Change +William DEVEY 21 Dec 1834 0.3 Green Arbour Court, Lambeth Hill +Henry DIAL 07 Jun 1836 2w Crane Court Lambeth Hill +Frederick DILLAY 04 May 1834 2 Little Carter Lane +Richard DILLEY 26 Jan 1837 46 Little Carter Lane +William DOLBY 20 Jul 1824 5.6 Green Arbour Court, Lambeth Hill +Charles DORSETT 01 Oct 1848 0.6 4, Lambeth Hill +Mary DOUGLAS 26 Jan 1839 0.14 Knight Rider Street +Elizabeth DOWNES 04 Jun 1837 48 Taylor's Court, Lambeth Hill +John DRAKE 21 Apr 1833 50 Lambeth Hill +Elizabeth DUDLEY 03 Oct 1847 73 1,Taylor's Court, Lambeth Hill +Sarah DUNN 27 Oct 1816 55 Christ Church SRY +Amelia DYSON 06 Dec 1814 0.6 Old Change +Hannah DYSON 24 Mar 1819 60 High Street. Marylebone MDX +Robert Joseph DYSON 05 Jan 1813 1.6 Old Change +Thomas DYSON 18 Sep 1813 0.10 Old Change +William EADES 19 Aug 1818 5 Taylors Court Lambeth Hill +Edwin EARDLEY 08 Dec 1833 25 Little Knight Rider Street +Henry EDMONDS 09 Apr 1826 38 Old Change +William EDMUNDS 03 Feb 1825 60 Lambeth Hill +George EDWARDS 11 Jul 1813 49 Taylors Court Lambeth Hill +Harriet Sarah ELLARD 16 Jun 1844 0.11 Lambeth Hill +John Yates ELLIS 29 Nov 1830 5d Little Knight Rider Street +Thomas ELLIS 15 Mar 1829 0.10 Knight Rider Court +James ENTWISLE 22 May 1819 40 Little Knight Ryder Street +Mary Ann ESCOTT 26 Aug 1821 0.3 Crane Court Lambeth Hill +John EVANS 26 Aug 1819 11 Lambeth Hill +William EVANS 13 Nov 1814 1.2 Green Arbour Court, Lambeth Hill +Jane EXTON 26 Mar 1815 54 Green Arbour Court, Lambeth Hill +Lewis FACHE 28 Dec 1823 0.10 Crane Court Lambeth Hill +Mary FACHE 09 Jun 1822 0.18 Crane Court Lambeth Hill +Mary FARMFIELD 05 Mar 1843 64 Lambeth Hill +Elizabeth FARROW 20 Dec 1819 65 Green Arbour Court, Lambeth Hill +Edward FELLOWES 28 Apr 1833 2 Taylor's Court, Lambeth Hill +Lydia FELLOWS 28 Jan 1844 33 Lambeth Hill +William Henry FELLOWS 28 Jun 1837 0.13 Lambeth Hill +Mary Ann FERRIDAY 16 Mar 1851 69 2, Fish Street +Mary FIELD 20 Feb 1829 0.3 Lambeth Hill +Harriett FINCH 01 Feb 1852 0.9 Green Arbour Court, Lambeth Hill +George FLANDERS 16 Aug 1837 0.3 St Peters Hill +Louisa FLANDERS 25 Jun 1839 9.3 St Peters Hill +William FLANDERS 19 May 1833 2.6 St Peters Hill +William FLANDERS 28 Nov 1847 50 15 Labour in Vain Yard Lambeth Hill +Elizabeth FLINTAN 20 Jul 1832 39 Green Arbour Court, Lambeth Hill +Jane FLUDE 01 Nov 1832 58 Little Knight Ryder Street +Elizxabeth FOON 25 Aug 1833 14 Green Arbour Court, Lambeth Hill +George FOON 28 May 1816 0.19 Green Arbour Court, Lambeth Hill +John FOON 09 Jun 1816 4 Green Arbour Court, Lambeth Hill +John FOON 10 Jan 1841 60 Green Arbour Court, Lambeth Hill +William FOONE 16 May 1847 24 3, Green Arbour Court, Lambeth Hill +Levina FRANCIS 11 Aug 1844 6 Bennetts Hill +William FROSTICK 06 Nov 1825 1.8 Lambeth Hill +Elizabeth GABRIEL 30 Apr 1834 18 Lambeth Hill +George GALE 17 Nov 1833 6 Crane Court Lambeth Hill +Elizabeth GALLANT 27 Aug 1848 11 10, Crane Court +Esther GALLERY 01 Jun 1813 62 Taylor's Court, Lambeth Hill +Elizabeth GARDENER 13 Mar 1836 30 Knight Riders Court +James GARDNER 05 Jan 1826 0.16 Taylor's Court, Lambeth Hill +Sarah GARDNER 24 Nov 1831 50 Crane Court Lambeth Hill +Augusta Sophia GAUGIN 04 Nov 1821 16 Knowles Court +Jane GIBBS 10 Jul 1839 0.11 Green Arbour Court, Lambeth Hill +Martha GILES 12 Dec 1813 25 Green Arbour Court, Lambeth Hill +Thos Henry David GILHAM 17 Apr 1853 37 12,Little Knight Ryder Street +Eliza GLEESON 12 Mar 1815 0.18 Knight Rider Court +Caroline GODFREY 29 May 1821 0.4 Taylor's Court, Lambeth Hill +Elizabeth GODFREY 09 Jul 1818 2 Taylor's Court, Lambeth Hill +John GODFREY 24 Apr 1817 2 Crane Court Lambeth Hill +Louisa GODFREY 29 May 1821 0.4 Taylor's Court, Lambeth Hill +Eliza GOODALL 06 Apr 1845 28 Little Carter Lane +James GOODHALL 08 Oct 1843 49 Green Arbour Court, Lambeth Hill +Johanna GOODWIN 12 May 1815 86 Green Arbour Court, Lambeth Hill +Henry GOODYEAR 28 Jul 1850 14.9 12, Little Carter Lane +Abraham GOYMER 02 Sep 1839 48 Globe Road, Mile End +Abraham GOYMER 11 Dec 1823 5d Old Fish Street +Abraham Frederic GOYMER 06 Nov 1825 0.11 Old Fish Street +Amelia GOYMER 01 Mar 1831 0.10 Old Fish Street +Henry Robert GOYMER 20 May 1821 1.11 Old Fish Street +Sarah Augusta GOYMER 21 Nov 1833 0.8 Old Fish Street +Elizabeth GREEN 28 Dec 1814 2.9 Carter Lane +John GREEN 09 Dec 1814 4.6 Little Carter Lane +Sarah GREEN 25 Mar 1821 53 Little Carter Lane +William GREEN 07 Feb 1830 61 Old Change +William George GREEN 22 May 1839 35 Little Carter Lane +Charles GREENWOOD 18 Feb 1814 33 Old Fish Street +William GRIFFIN 12 Aug 1827 0.10 Lambeth Hill +Sarah Jane GRIFFITHS 13 Oct 1833 2.8 Sermon Lane +John GROVER 01 Feb 1814 5 Taylor's Court, Lambeth Hill +Sarah GROVER 04 Feb 1849 30 4, Taylor's Court, Lambeth Hill +Amelia GYDE 10 Nov 1839 0.1 Lambeth Hill +Thomas HALL 02 Mar 1845 64 Green Arbour Court, Lambeth Hill +Clara HANDLEY 19 Nov 1845 1 Lambeth Hill +John HARRIS 02 Jul 1837 62 Lambeth Hill +John Francis HARRIS 16 Jan 1842 0.20 Peter's Hill +Rosetta HARRIS 22 Jan 1837 74 Lambeth Hill +John HART 22 Jan 1826 51 Old Change +Henry HARTRUP 24 Oct 1813 1.7 Green Arbour Court, Lambeth Hill +Joseph HARTRUP 23 Dec 1818 2 Green Arbour Court, Lambeth Hill +Samuel HARTRUP 19 Mar 1815 0.2 Green Arbour Court, Lambeth Hill +William Matthew HASSALL 28 Nov 1852 0.3 2, Old Fish Street +Jane Charlotte HAWARD 22 Sep 1821 2w Little Carter Lane +Eleanor HAWKINS 14 Sep 1817 0.13 Canterbury Court, St Andrews Hil +Elizabeth Sarah HAWKINS 26 Nov 1838 4.2 Green Arbour Court, Lambeth Hill +Mary HAWKINS 01 Jul 1821 53 Knight Rider Court +Sarah Jane HAWKINS 30 Nov 1817 3 Canterbury Court, St Andrews Hill +Thomas HAWKINS 13 Dec 1818 55 Sermon Lane +Alice HAY 17 Nov 1850 57 6, Green Arbour Court, Lambeth Hill +James HEALD 13 Apr 1847 56 24, Old Change +Martha HEALD 03 Mar 1841 48 Lambeth Hill +William HEALD 21 Jul 1850 14 Old Change +Thomas HEATH 22 May 1836 72 Lambeth Hill +Robert HENDRY 28 Nov 1824 43 Labour in Vain Yard +William HENLEY 11 Dec 1814 43 Bottle Hay Yard +Robert HENRY 30 Jan 1814 66 Lambeth Hill +Ann HIBBLE 28 Aug 1833 53 Lambeth Hill +James HIBBLE 24 Jul 1833 75 Lambeth Hill +James HILLUM 26 Sep 1839 39 Knight Rider Court +James HINES 17 Jan 1813 40 Lambeth Hill +Elizabeth HOBART 19 Apr 1833 36 Little Knight Ryder Street +Janes HOLLOWAY 15 Jul 1818 0.10 Lambeth Hill +John HOLLOWAY 05 Jun 1821 6 Lambeth Hill +Elizabeth HOLMAN 08 Nov 1835 1.5 Little Carter Lane +William Henry HOLMAN 26 Apr 1835 14 Little Carter Lane +John HOOD 15 Dec 1844 51 Carter Lane +Robert HOOPER 16 Sep 1824 0.9 Green Arbour Court, Lambeth Hill +William HOOPER 25 Sep 1839 19 Green Arbour Court, Lambeth Hill +Martha HOPKINS 18 Mar 1825 84 Taylor's Court, Lambeth Hill +Henry HORNER 06 Apr 1847 45 Knowles Court +Benjamin HOTINE 15 Feb 1829 53 Little Knight Rider Street +Mary HOTINE 27 Oct 1819 49 Lambeth Hill +John HUGGINS 09 May 1849 47 6, Lambeth Hill +Edwin HUGHES 11 Sep 1829 5d Lambeth Hill +Hannah HUGHES 11 Sep 1829 25 Lambeth Hill +Elizabeth HULCUP 09 Jan 1814 2.6 Old Change +William HURN 06 Feb 1826 0.2 Lambeth Hill +Mary Harris HUTCHINSON 14 May 1837 2 Little Carter Lane +Mary Ann ISLIP 20 Dec 1840 4 Lambeth Hill +James JACKSON 19 May 1822 0.10 Friday Street +Mary Ann JACKSON 31 Jul 1814 1.3 Knowles Court +Sarah JACKSON 05 Dec 1819 68 Labour in Vain Crt, Little Fish +Simmons JACKSON 24 Oct 1819 4 Friday Street +Mary JARRAL 04 Oct 1824 69 Lambeth Hill +James JARRETT 11 May 1851 39 12,Crane Court Lambeth Hill +Thomas JARVIS 23 Apr 1825 39 Little Knight Ryder Street +Susan JEWELL 17 Mar 1850 0.5 10, Little Carter Lane +James JOHNS 13 Jan 1842 51 Lambeth Hill +Richard JOHNS 13 Mar 1827 28 Knight Rider Court +Eliza Sarah JOHNSON 06 Jan 1822 2.6 Lambeth Hill +George JOHNSON 05 Feb 1817 64 Taylor's Court, Lambeth Hill +Sarah JOHNSON 28 Jan 1827 41 Lambeth Hill +Caroline JONES 31 Oct 1821 0.15 St Peters Hill +Elizabeth JONES 12 Jul 1815 0.21 Lambeth Hill +Elizabeth JONES 20 Jan 1822 61 Little Carter Lane +George JONES 18 Mar 1827 0.13 Bell Inn Yard, Friday Street +James John JONES 12 Aug 1832 37 Knight Rider Court +John JONES 27 May 1819 60 Windsor Crt, Little Knight Rider +John Amos JONES 02 Nov 1828 0.9 Bell Inn Yard, Friday Street +Margaret JONES 14 Apr 1833 58 Crane Court Lambeth Hill +Martha JONES 09 Jun 1850 7 9, Little Carter Lane +Mary Ann JONES 27 Sep 1849 8 20,Lambeth Hill +Rebecca JONES 01 Dec 1833 86 Green Arbour Court, Lambeth Hill +William JONES 08 Nov 1835 40 St Bartholomew's Hospital +William JOPP 10 Sep 1833 24 Great Trinity Lane +William JOPP 01 May 1834 0.8 Oxford Street +Anne JORDAN 25 Nov 1832 36 Knight Ryder Court +Frances Ann JORDAN 14 May 1827 3.4 Knight Ryder Court +Joseph KELLY 31 Dec 1815 27 Little Knight Ryder Street +Clara KEMSHEAD 21 May 1843 3.6 25, Lambeth Hill +Richard KEMSHEAD 21 Feb 1841 35 Lambeth Hill +Hannah KENDRICK 27 Nov 1831 71 Crane Court Lambeth Hill +Hannah KENDRICK 06 Dec 1821 0.11 Old Change +Daniel KENSEY 04 Nov 1825 3d Knight Rider Court +Thomas Joel James KENSEY 27 Mar 1822 4 Lambeth Hill +Henry KERR 05 Dec 1823 3 Little Knight Ryder Street +William KNIGHT 30 Mar 1828 35 Knight Rider Court +Frederick KOPP 20 Dec 1818 45 Kings Head Crt, Little Carter Lane +Mary LANGDON 15 Mar 1813 36 Blackheath Hill Kent +William LANGLEY 27 Feb 1820 42 Old Change +Henry Richard LAVIS 24 Oct 1848 0.5 7, Lambeth Hill +Sarah Ann LAVIS 15 Oct 1848 2 7, Lambeth Hill +Chas Nathaniel LAWRENCE 02 Dec 1838 10 Old Change +Frances LEAVER 25 Nov 1830 28 Little Knight Ryder Street +Charles LEE 16 Mar 1828 0.13 Sermon Lane +George Edwin LEE 22 Apr 1830 5 Little Carter Lane +Hannah LEE 21 Apr 1844 53 Sermon Lane +Hannah LEE 30 May 1852 22 17,Sermon Lane +Samuel LEE 26 Jul 1834 5.9 Sermon Lane +Jane LEGG 10 Feb 1833 26 Green Arbour Court, Lambeth Hill +John LESTER 22 May 1814 61 St Mary, Lambeth +Mary LEWIN 18 Aug 1850 63 7,Little Knight Ryder Street +Catherine LINCH 27 May 1813 0.2 Green Arbour Court, Lambeth Hill +John LINCK 22 May 1814 0.7 Taylor's Court, Lambeth Hill +Martin LINCK 05 Mar 1817 0.7 Taylor's Court, Lambeth Hill +Sarah LINSELL 24 Dec 1828 62 Taylor's Court, Lambeth Hill +Thomas LINSELL 15 Jan 1832 63 At Andrews Hill +Mary LINSELL 22 Dec 1844 43 Crane Court Lambeth Hill +Samuel LITTLE 23 Feb 1851 2 3, Taylor's Court, Lambeth Hill +Harriet LLOYD 17 Aug 1831 1.9 Lambeth Hill +Richard LLOYD 03 Feb 1830 40 Lambeth Hill +James LOOKER 01 Dec 1825 2.6 Lambeth Hill +John LOOKER 11 Sep 1831 45 Lambeth Hill +John Edward LOOKER 20 Jul 1831 0.20 Lambeth Hill +Thomas LOOKER 09 May 1824 2.10 Lambeth Hill +Wilhelmina Lydia LOVE 22 Aug 1820 0.10 Lambeth Hill +Hannah LUCAS 27 Dec 1829 67 Taylor's Court, Lambeth Hill +William LYALL 05 Jan 1851 63 23 Peter's Hill +Daniel LYONS 27 Apr 1834 1.6 Green Arbour Court, Lambeth Hill +Thomas LYONS 03 Apr 1833 2 Green Arbour Court, Lambeth Hill +Elizabeth MACKEY 10 Apr 1853 77 193, Upper Thames Street +Richard Jebb MADELEY 18 Jul 1813 1.4 Green Arbour Court, Lambeth Hill +John Sadler MAIL 07 Mar 1816 3 Sermon Lane +Richard MALLON 17 Feb 1850 0.2 23, Lambeth Hill +George Henry MANN 16 Jun 1822 0.13 Lambeth Hill +Elizabeth MANNING 07 Oct 1818 0.10 Little Carter Lane +Sarah MARCHANT 20 May 1850 87 12, Sermon Lane +William MARCHUM 15 Dec 1822 22 Taylor's Court, Lambeth Hill +Ann MARECHAL 07 May 1837 73 Little Knight Ryder Street +Caroline MARECHAL 23 Apr 1820 22 Little Knight Ryder Street +Anthony Romney MARSHALL 05 Aug 1839 0.19 Little Knight Ryder Street +Frederick MARSHALL 05 Aug 1839 4 Little Knight Ryder Street +Mary Ann MARSHALL 25 Aug 1814 5 St Mildreds Crt Bread Street +Mary Louise MARSHALL 20 Dec 1839 5 Little Knight Ryder Street +Francis MARTIMORE 27 Jun 1824 64 Lambeth Hill +Edward MARTIN 09 Aug 1825 49 Lambeth Hill +Mary MARYON 06 Feb 1842 38 Boss Court Upper Thames Street +Simon MARYON 03 Mar 1841 41 Crane Court Lambeth Hill +Emma MASDON 13 Nov 1825 0.10 Lambeth Hill +George MASON 26 Oct 1837 0.5 Knight Rider Court +James MASON 12 Jun 1839 0.3 Crane Court Lambeth Hill +John MASON 23 Jun 1846 18 Crane Court Lambeth Hill +Richard MASON 12 Oct 1826 49 Lambeth Hill +Sarah MASON 02 Jun 1839 3.10 Crane Court Lambeth Hill +Sophie McGOWAN 06 Mar 1836 55 St Peters Hill +Nathaniel McGOWEN 20 Jan 1841 76 Lambeth Hill +Christianus MEADOWS 03 Apr 1823 67 Bell Court +Mary MEADOWS 07 Feb 1823 74 Taylor's Court, Lambeth Hill +Hannah MELLOR 20 Feb 1825 60 Bell Court, Great Carter Lane +Elizabeth MILLINGTON 23 Jan 1818 0.13 Lambeth Hill +Sarah MILLWARD 29 Oct 1841 84 Little Carter Lane +James MILNER 05 Apr 1830 61 Crown Court Old Change +Mary MILNER 14 Jul 1822 56 Old Change +Thomas MILWARD 02 Nov 1834 84 Lambeth Hill +Caroline MOLE 15 Nov 1840 63 Holiday Yard +Ann MOORES 02 Jul 1817 43 Fleet Market +Henry MORE 06 Jun 1814 0.14 Lambeth Hill +Charles MORGAN 22 Feb 1824 0.14 Crane Court Lambeth Hill +William James MORGAN 26 Jul 1833 0.15 Crane Court Lambeth Hill +Ann MORRIS 10 Jan 1819 76 Green Arbour Court, Lambeth Hill +Mary MORRIS 30 Mar 1828 96 Lambeth Hill +Thomas MORRIS 07 Apr 1815 71 Carter Lane, Old Change +Job MORTON 17 Dec 1813 45 St Bartholomews Hospital +Edward MOULL 25 Apr 1821 6w Green Arbour Court, Lambeth Hill +Robert MULLIS 29 Jun 1828 38 Sermon Lane +Ann MURRAY 13 Mar 1821 62 Green Arbour Court, Lambeth Hill +James MURRAY 15 Jan 1815 27 Taylor's Court, Lambeth Hill +Thomas William NEALE 03 Sep 1828 1 Lambeth Hill +Eliza NEGUS 12 Dec 1847 43 5, Lambeth Hill +Mary NETTLETON 02 Jan 1845 69 Knight Rider Court +Philadelphia NEWBLE 12 Jun 1818 25 Green Arbour Court, Lambeth Hill +John NEWHALE 04 Nov 1833 58 Woolwich Kent +Joseph NEWHALL 08 Jul 1833 61 Little Knight Ryder Street +Joseph NEWMAN 24 Sep 1843 1 Old Change +Caroline NICHOLAS 06 Feb 1834 6 Little Carter Lane +Francis NORIS 05 Feb 1837 45 Lambeth Hill +Mary Ann NORRIS 03 Oct 1849 18 7, Little Knight Ryder Street +Elizabeth Webb NORTWYCK 06 May 1818 37 Little Knight Ryder Street +Elizabeth NOTLEY 28 Jan 1819 5 Upper Thames Street +William NOTTLEY 30 Apr 1818 0.11 Printing Ho Yard Water Lane +Thomas Ebenezer OGILVY 19 Mar 1843 2.5 Little Knight Ryder Street +Jane Elizabeth ORAM 06 Apr 1817 0.22 Lambeth Hill +Sarah ORAM 21 Feb 1819 37 Lambeth Hill +Susannah ORAM 27 Apr 1817 60 Crane Court Lambeth Hill +Elizabeth ORTSON 03 Jan 1819 46 Crane Court Lambeth Hill +Susan OXFORD 08 Nov 1826 0.15 Crane Court Lambeth Hill +Elizabeth PARRY 12 Mar 1826 41 Old Change +Maria PARTRIDGE 20 Nov 1842 60 Great Trinity Lane +Amy PAYNE 29 Mar 1839 42 Little Carter Lane +Hannah PAYNE 02 Jul 1816 40 New Street, Shoe Lane +Elizabeth PEASTON 11 Dec 1842 0.11 Taylor's Court, Lambeth Hill +Alice Elizabeth PERKINS 30 Nov 1845 68 Bell Court, Temple Bar +Elizabeth PERKINS 25 Oct 1816 0.16 Green Arbour Court, Lambeth Hill +Emma PERKINS 11 Jul 1827 14w Lambeth Hill +Mary PERKINS 21 Sep 1814 1.3 Green Arbour Court, Lambeth Hill +Mary PERKINS 02 May 1833 45 Lambeth Hill +Robert PERKINS 29 Jun 1821 3 Green Arbour Court, Lambeth Hill +Stephen PERKINS 25 Mar 1838 19 Old Fish Street +Thomas PERKINS 31 Mar 1833 50 Lambeth Hill +Thomas Robert PERKINS 04 Sep 1814 6.7 Green Arbour Court, Lambeth Hill +Elizabeth Ann PETTIT 23 Mar 1819 38 Little Knight Ryder Street +Susannah PETTIT 14 May 1817 69 Blackheath Kent +Sarah PHILLIPS 26 Oct 1834 59 Lambeth Hill +Susan PHILLIPS 06 Jan 1828 61 Lambeth Hill +William PHILLIPS 22 Feb 1829 66 Crane Court Lambeth Hill +James PHILP 03 Aug 1837 0.4 Knight Rider Court +Mary PHILP 23 Dec 1838 46 Knight Rider Court +William PHILP 07 Jul 1833 16 St Peters Hill +William Andrew PINK 02 Jun 1816 1.9 Lambeth Hill +James PITT 07 Oct 1849 3 2,Lambeth Hill +William Earl PITT 07 Oct 1849 3 2,Lambeth Hill +Charles PLUMRIDGE 21 Nov 1849 0.14 4, Green Arbour Court +William PLUMRIDGE 25 Aug 1833 75 Taylor's Court, Lambeth Hill +George POCOCK 09 Jun 1814 35 St Bartholomew's Hospital +Georgina POWELL 24 Jul 1830 43 Little Carter Lane +Robert POWELL 13 Oct 1837 1 Knight Rider Court +Henry PRESCOTT 17 Sep 1817 0.11 Lambeth Hill +Elizabeth PRICE 30 Jan 1825 53 Noble Street, St Lukes MDX +Hiram PRICE 01 Aug 1820 60 Lambeth Hill +Mary Ann PRICE 18 Jul 1832 9 Lambeth Hill +William PRICE 16 Mar 1828 30 Knight Rider Court +Philip John PRUDORN 19 Dec 1838 40 Sermon Lane +Alfred PRYCE 17 Nov 1850 1 1, Sermon Lane +Jane PUZEY 27 Aug 1829 0.13 Crane Court Lambeth Hill +George RADFORD 23 Sep 1824 18 St Peters Hill +William RADFORD 13 Feb 1826 57 St Peters Hill +George READ 20 Aug 1833 66 Green Arbour Court, Lambeth Hill +Mary Ann READ 30 Apr 1815 0.9 Little Knight Ryder Street +Sarah READ 05 May 1833 65 Green Arbour Court, Lambeth Hill +John REDDALL 22 Aug 1834 72 Sermon Lane +Jane REDHALL 28 Dec 1816 59 Sermon Lane +Alfred RENWELL 22 May 1842 0.18 Crane Court Lambeth Hill +Jane RICHARDS 21 Aug 1831 7w Green Arbour Court, Lambeth Hill +Mary RICHARDS 07 Feb 1819 3 Stepney MDX +Mary RICHARDS 26 Oct 1819 82 Lambeth SRY +Thomas RICHARDS 06 May 1819 44 Taylor's Court, Lambeth Hill +William RICHARDS 09 Jan 1818 43 John Street, St George MDX +Hubert Paul RIVOUS 07 Apr 1835 15 Little Knight Rider Street +Elizabeth ROBERTS 28 May 1839 1.11 Green Arbour Court, Lambeth Hill +Geroge Henry ROBERTS 20 Oct 1839 0.3 Green Arbour Court, Lambeth Hill +John ROCKELL 09 Aug 1835 69 Taylor's Court, Lambeth Hill +Jane ROCKLE 03 Aug 1845 74 6, Lambeth Hill +Harriet RODGERS 06 Jan 1820 61 Pratt Street, Lambeth +Hannah ROGERS 10 Nov 1824 5 Knight Rider's Court +Maria ROSE 29 Jun 1828 8 Taylor's Court, Lambeth Hill +Henry ROSS 22 Aug 1841 37 Little Carter Lane +Charles ROWLEY 03 Nov 1822 79 Old Change +Martha RUSS 20 Jun 1816 66 Green Arbour Court +Richard RUSS 13 Sep 1818 68 Little Fish Street Hill +Alfred RYDER 15 Jan 1843 2.6 Sermon Lane +Margaret RYDER 03 Jul 1814 64 Knight Rider Court +Emma SALIS 23 Jul 1833 2w Knight Rider Court +Nicholas SANDELL 08 Apr 1821 50 Old Change +Mary Ann SARGENT 14 Dec 1835 0.10 Taylor's Court, Lambeth Hill +William SARGENT 15 Feb 1829 0.5 Lambeth Hill +William John SARJANT 08 Jun 1838 5w Taylor's Court, Lambeth Hill +Mary SARTINE xx Sep 1815 64 Taylor's Court, Lambeth Hill +Ann SAUNDERS 21 May 1852 90 1, Taylor's Court, Lambeth Hill +George SAYER 21 Aug 1813 3.3 Old Change +Christian SCHINDLER 27 Jan 1830 58 Knowles Court Little Carter Lane +Bella SCOTT 04 Jun 1840 11 Lambeth Hill +Henry SEATORN 22 Feb 1814 4.9 Lambeth Hill +Jane SEATORN 08 Feb 1814 1.11 Lambeth Hill +Sarah SEDGWICK 31 Jul 1821 49 St Peter's Hill +Henry SHIPMAN 02 Nov 1826 39 Little Carter Lane +Martha SHIPMAN 28 Apr 1850 69 9, Crane Court Lambeth Hill +Ann SHIRMER 17 Feb 1822 26 St Peter's Hill +James SHORT 22 Sep 1822 22 Little Knight Ryder Street +William SHURRY 25 Jan 1818 0.1 Little Carter Lane +Ann SKATES 08 Oct 1837 50 Green Arbour Court, Lambeth Hill +Janet SKEENE 31 Dec 1829 63 Little Knight Rider Street +John SMALE 22 Jul 1832 51 Green Arbour Court, Lambeth Hill +Ann SMITH 26 Jan 1845 31 Sermon Lane +Ann Harriett SMITH 16 Oct 1847 3 25, Lambeth Hill +George Trinity SMITH 18 Aug 1822 29 Lambeth Hill +Mary Ann SMITH 26 Nov 1813 2 Workhouse +Richard SMITH 04 Aug 1817 35 Crane Court Lambeth Hill +Richard Ann SMITH 01 Apr 1813 0.3 Lambeth Hill +Sophia SMITH 05 Feb 1815 18 Little Knight Ryder Street +Thomas SMITH 20 Oct 1823 28 Old Change +Thomas SNOWDEN 05 Aug 1814 43 Knowles Court +Clara Emmeline SPEECHLEY 16 Dec 1838 3.5 Christ Church Surrey +Eliza Ellen SPEECHLEY 28 Feb 1836 3 Prujean Square Old Bailey +John SPEECHLEY 03 May 1821 68 Sidney Street, Islington MDX +John Edward SPEECHLEY 09 Nov 1828 4 Sermon Lane +Thomas Henry SPEECHLEY 07 Mar 1830 3.6 Sermon Lane +William SPEED 07 Jun 1846 0.3 24, Peters Hill +Mary SPRINGH 24 Mar 1816 4d St Peter's Hill +Maria STAINES 28 Nov 1840 0.3 Lambeth Hill +William STEDMAN 17 Feb 1813 0.7 Crane Court +Eliza STEVENS 06 Mar 1822 0.11 Bells Court, Docotr's Commons +Elizabeth STEVENS 23 Mar 1817 66 Green Arbour Court, Lambeth Hill +Emily Esther STEVENS 22 Apr 1832 1.7 Bell Court, Doctors Commons +John Paul STEVENS 17 Jan 1827 66 Crane Arbour Court +Maria STEVENS 16 Nov 1820 1.9 Bell Court, Doctor's Commons +William Nick STEVENS 07 Feb 1847 21 Bell Court +James STEWART 05 Apr 1829 4w Sermon Lane +Sarah STEWART 11 Dec 1831 1.9 St Johns Street, Smithfield +Mary STRAITON 08 Nov 1835 2.10 Little Knight Ryder Street +William STRANGE 03 Apr 1853 44 19, Little Knight Ryder Street +Elizabeth Lydia STRATTON 17 Aug 1834 25 Sermon Lane +Joseph STRICKFIELD 19 Jul 1835 0.4 Lambeth Hill +Thomas STRICKLAND 11 Sep 1835 73 Little Knight Ryder Street +Margaret TALBOTT 01 Dec 1833 31 Little Carter Lane +Henry TAPP 17 Aug 1845 57 Crane Court Lambeth Hill +Mary TAYLOR 23 Jan 1814 22 Knight Rider Court +Joseph TEMPEST 26 Dec 1841 73 Taylor's Court, Lambeth Hill +Henry THEED 17 Mar 1842 37 Sermon Lane +John THEOBALD 23 Mar 1817 45 Lambeth Hill +Mary THOMPSON 21 Mar 1844 82 Sermon Lane +Sarah THOMPSON 07 May 1844 78 Lambeth Hill +William THOMPSON 10 Oct 1839 75 Green Arbour Court, Lambeth Hill +Ann THOMSON 26 Mar 1820 63 Red Lion Street, Holborn +David THOMSON 29 Jan 1837 5 Old Change +Robert THOMSON 04 Aug 1813 25 Fleet Market +George THORNTON 03 Sep 1820 60 Lambeth Hill +Agnes TINDALL 15 Mar 1818 0.19 Kings Head Crt Little Carter Lan +John TINDALL 19 Oct 1815 0.7 Green Arbour Court, Lambeth Hill +Elizabeth TINKLER 22 Mar 1846 66 Little Carter Lane +William TRACEY 31 May 1849 2 8, Green Arbour Court +James Frederick TRAYLEN 10 Jul 1828 0.4 Little Carter Lane +Charles TRIMMING 17 Aug 1837 15 Taylor's Court, Lambeth Hill +Maria Ann TUCKER 30 Aug 1815 0.8 Green Arbour Court, Lambeth Hill +William TYRRELL 25 Dec 1822 0.2 Lambeth Hill +Moot VALENTINE 14 Sep 1832 43 Crane Court Lambeth Hill +Joseph VERE 11 Feb 1819 65 Cloth Fair, Smithfield +George Frederick VIGOR 23 Nov 1828 2 Little Knight Ryder Street +Sarah VINCE 14 Aug 1831 1 Lambeth Hill +Penfold WAKEFIELD 18 Feb 1844 4.8 Knight Rider Court +Stephen C WAKEFIELD 12 Aug 1851 53 1, Knight Rider Court +Caroline Lydia WALKER 17 Mar 1817 0.1 Little Knight Ryder Street +Charlotte WALKER 17 Aug 1851 0.7 20, Lambeth Hill +John Henry WALKER 08 Jul 1829 0.5 Knight Rider Court +Mary WALKER 27 Nov 1817 30 Little Knight Ryder Street +Eliza WALLINGER 20 May 1821 0.10 Taylor's Court, Lambeth Hill +Mary Ann WALLINGER 02 Aug 1818 1.6 Taylor's Court, Lambeth Hill +William Isaac WALSHAM 21 Jan 1849 0.9 2, Lambeth Hill +Peter WARBURTON 13 Mar 1823 47 Old Change +George WARD 30 Jul 1820 21d Lambeth Hill +Maria WARD 11 Dec 1849 43 2, Lambeth Hill +Martha WARD 12 Mar 1815 36 St Peter's Hill +Joseph WARHAM 22 Nov 1818 0.18 Green Arbour Court, Lambeth Hill +Edward WATERLANE 14 Sep 1826 32 Bread Street Hill +Henry Samuel WATT 01 Oct 1823 0.10 St Peter's Hill +John Francis WATTS 08 Dec 1813 3 Old Change +Mary WEEKS 23 Dec 1849 57 11, Little Carter Lane +Joshua WELCH 21 Apr 1828 25 Little Knight Rider Street +Sarah WELCH 23 Feb 1840 20 Old Fish Street +Sarah WELCH 23 Feb 1840 20 Old Fish Street +George WESTCOTT 04 Apr 1838 40 Crane Court Lambeth Hill +Mary WESTCOTT 17 Aug 1833 26 Knight Rider Court +Ann WHIFFEN 15 Dec 1824 42 St Peter's Hill +Peter WHITE 30 Nov 1851 70 5, Knight Rider Street +Ann WHITEHOUSE 18 Feb 1814 42 Lambeth Hill +William WHITEKER 02 Feb 1845 43 Peter's Hill +James Fredrk. WHITTAKER 05 Mar 1820 0.16 Little Fish Street Hill +John Butler WHITTAKER 20 Aug 1817 15w Lambeth Hill +Elizabeth WILD 22 Dec 1835 23 Lambeth Hill +John WILD 17 Aug 1817 64 St George's Court, St Bennets Hil +John WILLIAMS 18 May 1834 40 Old Change +Susannah WILLIAMS 13 Nov 1842 56 Green Arbour Court +Ann WILLOUGHBY 04 Feb 1818 67 Green Arbour Court, Lambeth Hill +John WILLSON 16 Apr 1826 25 Little Carter Lane +Robert WILLSON 04 Jan 1817 19 Crane Court Lambeth Hill +Samuel WILLWARD 25 Apr 1813 63 Lambeth Hill +Jane WILSON 01 Nov 1816 46 Little Knight Ryder Street +Joseph WILSON 06 Jun 1835 2 Green Arbour Court, Lambeth Hill +Samuel John WINDSOR 30 Apr 1817 0.2 Lambeth Hill +Jonathan WINSON 17 Feb 1822 34 Taylor's Court, Lambeth Hill +Charles WISE 22 Dec 1816 49 Lambeth Hill +Mary WISE 25 Jan 1820 44 Lambeth Hill +Jane WISHER 28 Apr 1833 0.11 Lambeth Hill +Jane WISHER 19 Dec 1851 50 4, Lambeth Hill +Sarah WISHER 27 Jan 1835 1 Lambeth Hill +Hannah WOOD 03 Mar 1830 7w Knight Rider Court +Samuel WOOLFE 05 Mar 1846 76 4, Lambeth Hill +Jacob WRAGG 23 Sep 1818 62 Little Knight Ryder Street +Margaret WRAGG 30 Oct 1819 73 Stangate Lambeth +William WRIGHT 24 Jan 1844 74 Greeham, East Kent +Benjamin Day YATES 16 Feb 1819 1.8 Sermon Lane +George YOUNG 11 May 1845 73 Peter's Hill diff --git a/01 Strings/07 Cemetery/cemetery_orig.txt b/01 Strings/07 Cemetery/cemetery_orig.txt new file mode 100644 index 0000000..2937212 --- /dev/null +++ b/01 Strings/07 Cemetery/cemetery_orig.txt @@ -0,0 +1,616 @@ + ST MARY MAGDALENE OLD FISH STREET CITY OF LONDON + Burials 5th Jan 1813 - 10th July 1853 +NAME BURIAL DATE AGE RESIDENTIAL ADDRESS +----------------------- ----------- --- ---------------------------- +John William ALLARDYCE 17 Mar 1844 2.9 Little Knight Ryder Street +Frederic Alex. ALLARDYCE 21 Apr 1844 0.17 Little Knight Ryder Street +Philip AMIS 03 Aug 1848 1 18 1/2 Knight Rider Street +Thomas ANDERSON 06 Jul 1845 27 2, Bennet's Hill +Edward ANGEL 20 Nov 1842 22 Crane Court Lambeth Hill +Sarah ANGELL 09 Oct 1836 42 Lambeth Hill +Sarah ANSELL 31 May 1829 29 High Timber St, Upper Thames St +Charles ANTHONY 22 Jul 1849 6 3,Taylor's Court, Lambeth Hill +Sarah Ann ANTHONY 06 Aug 1828 47 Lambeth Hill +Sarah ARLETT 27 May 1849 2 5, Little Knight Rider Street +Hannah AUSTIN 23 Feb 1819 41 Box MDX +Oliver AUSTIN 19 Feb 1816 0.5 Mile End +Rosina AUSTIN 07 Mar 1833 20 Mile End MDX +Hannah AYLIFF 18 Jul 1832 11 Lambeth Hill +Hannah AYLIFF 10 Dec 1834 44 Crane Court Lambeth Hill +William James AYLIFF 31 Jan 1819 0.2 Crane Court Lambeth Hill +George BAKER 08 Jan 1839 46 Knight Ryder Court +Caroline BARHAM 11 Jul 1851 56 6, Pelham Place, Brompton +Richard Harris BARHAM 21 Jun 1845 57 Residentary Ho. Amen Corner +Ann BARRY 21 Sep 1842 64 Bucks Head Court +Frederick BARTLETT 29 Nov 1839 0.11 Crane Court +Mary BATEMAN 31 Oct 1847 67 24, Lambeth Hill +John Gardner BATTEN 08 Dec 1819 0.18 Westham ESS +George BAXTER 08 Sep 1835 30 Knight Rider Court +Susanna BAXTER 05 Sep 1830 40 Crane Court Lambeth Hill +Mary BEARNARD 19 Oct 1834 21 Little Knight Ryder Street +Henry BEAUMONT 21 Nov 1813 1.9 Old Change +Mary Ann BEAUMONT 15 Dec 1813 27 Old Change +Thomas BEAUMONT 08 Jun 1833 0.4 Knowles Court +George Jacob BECK 19 Apr 1846 0.7 Sermon Lane +Eleanor BECKLEY 17 Nov 1850 1 4, Lambeth Hill +Mary Ann BECKWITH 29 Jun 1828 0.10 Crane Court Lambeth Hill +Sarah BECKWITH 21 Jan 1828 2.6 Crane Court Lambeth Hill +Henry Charles BENNET 01 Aug 1847 0.15 6, Lambeth Hill +Hannah BENNETT 26 Sep 1841 0.10 Lambeth Hill +Mary Wicks BENNETT 14 Apr 1850 38 6, Lambeth Hill +William BENNETT 05 Jul 1837 0.6 Lambeth Hill +William Perkins BENNETT 28 Dec 1845 3 Lambeth Hill +Wm. Geo. Perkins BENNETT 27 Mar 1836 0.5 Lambeth Hill +George BENSTEAD 02 Apr 1837 0.7 Lambeth Hill +John Stephen BENSTEAD 29 Mar 1839 0.8 Lambeth Hill +Ann Elizabeth BENYON 04 Jan 1814 26 Crane Court Lambeth Hill +Charles James BERRY 03 Mar 1841 34 Sermon Lane +Sarah BERRY 26 Jan 1817 0.21 Little Knight, Ryder Street +Philemon BETTS 11 Apr 1820 35 Upper Thames Street +Ann BIRCH 30 Oct 1850 75 1,Taylor's Court, Lambeth Hill +Elizabeth BIRCH 09 Aug 1829 58 Lambeth Hill +Elizabeth Ann BIRCH 07 Jul 1832 2w Lambeth Hill +Sarah BIRCH 12 Aug 1832 32 Green Dragon Crt, St Andrews Hill +Sarah Lucy BIRCH 26 Feb 1834 30 Lambeth Hill +Jane BIRCHILL 31 Mar 1839 18 New Street, St Bride's +Alfred BLACKLEDGE 26 Sep 1848 21 6,Green Arbour Court, Lambeth Hill +Charles BLACKLEDGE 07 Jan 1835 2 Green Arbour Court +Charles BLACKLEDGE 07 Aug 1831 0.18 Green Arbour Court +George BLACKLEDGE 30 Aug 1831 6 Green Arbour Court +Jane BLACKLEDGE 03 Jun 1821 32 Green Arbour Court +John BLACKLEDGE 27 Sep 1835 44 Green Arbour Court +Elizabeth BLACKMORE 24 Jan 1830 52 Lambeth Hill +Thomas BODKIN 13 May 1821 23 Crane Court Lambeth Hill +Frances BOTLEY 24 Dec 1816 8 Lambeth Hill +John BOWLES 17 Aug 1817 22 Green Arbour Court +Mary BOWLES 09 May 1838 33 Green Arbour Court +Mary BOWLES 01 Dec 1850 78 Green Arbour Court, Lambeth Hill +Ann BOX 08 Feb 1815 0.15 Crane Court Lambeth Hill +Jane BRADSHAW 09 Dec 1833 0.3 Crane Court Lambeth Hill +William BRAINTRUMP 15 Sep 1839 5 Lambeth Hill +Sarah BRINDLE 11 Aug 1816 74 Taylor's Court +William BROOKES 24 Feb 1822 1 Green Arbour Court, Lambeth Hill +Elizabeth BROWN 13 Oct 1839 33 High Holborn +John BROWN 11 May 1845 26 Parr's Head Corner Peters Hill +Angelina BUCKLEY 28 Jan 1851 38 3, Morris Yard, Old Fish Street +Jacob George BUCKLEY 22 Nov 1840 0.3 Lambeth Hill +Ann BUCKMASTER 06 Apr 1817 3.10 Lambeth Hill +Mary Ann BUFFHAM 25 Jun 1839 3 Green Arbour Court, Lambeth Hill +Sarah BUNKER 01 Jul 1817 47 Little Knight Ryder Street +William BURCH 02 May 1847 71 4, Lambeth Hill +Lucy BURGESS 21 Dec 1834 45 Little Knight Ryder Street +Henry BURGMAN 21 Jan 1838 76 Little Knight Ryder Street +Ann BURGOYNE 28 Aug 1823 5 White Cross St, Cripplegate +Ann BURGOYNE 02 Sep 1833 55 Little Knight Ryder Street +John BURGOYNE 20 Nov 1814 3.9 Friars Streets Blackfriars +John BURGOYNE 05 Jan 1834 53 Little Knight Ryder Street +Mary BURGOYNE 20 Jun 1813 33 Lambeth Hill +Thomas BURGUIN 17 Mar 1816 62 Knight Rider Court +Ann CARDWELL 24 Jul 1842 48 Green Arbour Court, Lambeth Hill +Jane CAREY 31 Jan 1830 0.3 Taylor's Court, Lambeth Hill +Ann Charlotte CARPENTER 21 Nov 1851 76 14, Park Place Peckham +James CARPENTER 05 Jun 1838 67 Peckham SRY +Joseph CARPENTER 18 Jun 1829 13 Peckham SRY +Elizabeth CARTER 17 May 1842 74 Green Arbour Court, Lambeth Hill +Henry Eli CASTLEMAN 24 Sep 1839 30 Old Change +Priscilla Mary Ann CAVE 08 Mar 1814 1.2 Lambeth Hill +Mary CHAMBERS 21 Nov 1830 70 Lambeth Hill +William CHAMBERS 13 Mar 1827 75 Lambeth Hill +Charles CLARK 26 Mar 1826 2.3 Brew Street Hill +Elizabeth CLARK 23 Aug 1818 64 Lambeth Hill +Emma CLARK 14 Oct 1849 4 15, Old Change +George CLARK 09 Dec 1821 68 Lambeth Hill +Isabella CLARK 08 Apr 1813 7d Little Knight Ryder Street +Mary Jane CLARK 12 May 1838 20 Old Change +William Penn CLARK 21 Apr 1833 40 Bell Square, Bishopsgate +Thomas CLOSE 29 Jun 1824 55 Little Knight Ryder Street +Ellen COCHRAM 11 Jun 1848 42 27, Addle Hill +John COCKERING 19 Dec 1849 7 18, Old Change +Elizabeth COCKHEAD 09 Jun 1850 21 New Street, Blackfriars +Eliza Erinder COGGER 04 Nov 1823 0.10 Peters Hill +Lucy Ann COLEBACK 23 Jul 1843 4w Lambeth Hill +Charles COLES 01 Dec 1833 2 Great Carter Lane +Eliza COLES 16 Apr 1826 10 Crane Court Lambeth Hill +Jane COLES 05 Jul 1832 5 Great Carter Lane +John COLES 09 Oct 1836 17 Great Carter Lane, Doctors Commos +William COLES 28 Apr 1833 3.10 Great Carter Lane +Richard COLLETT 01 Oct 1843 39 Old Change +Thomas William COLLEY 08 Aug 1833 4d Lambeth Hill +Joseph COLLIER 03 Apr 1831 58 Lambeth Hill +James Robert COLLINS 25 Mar 1834 1.6 Lambeth Hill +Sarah COLLINSON 15 Sep 1839 0.2 Knight Rider Court +John Speechley COOK 09 Mar 1817 2 Great Carter Lane +Elizabeth COOKE 27 Aug 1825 39 Crew Lane +Emma COOKSON 16 Jul 1826 0.3 Old Change +Emma COOKSON 16 Jul 1826 0.3 Old Change +Elizabeth COSTER 24 Sep 1826 42 Crane Court Lambeth Hill +Mary COWLING 13 Nov 1825 0.10 Lambeth Hill +Mary Ann COX 08 Aug 1833 4d St Peters Hill +Alice CRAGG 11 Aug 1834 2 Taylor's Court, Lambeth Hill +John CRAGG 19 Aug 1832 34 Green Arbour Court, Lambeth Hill +John CROCKFORD 16 Jul 1834 67 Crane Court Lambeth Hill +Harriot CROFT 08 Oct 1819 31 Portpool Street St Andrews Holbon +Margaret CROFT 20 Jan 1819 0.2 Little Knight Ryder Street +James CROLL 19 Apr 1829 43 Lambeth Hill +Charles CROOT 09 Jun 1818 2 Windsor Crt Little Knight Rider Court +Charles Neal CUMMINGS 12 Dec 1825 18 Great Carter Lane +Ann CUMMINS 16 Jun 1832 66 Great Carter Lane +Thomas CUNNINGHAM 07 Jun 1846 17 21, Lambeth Hill +Ann DALBY 11 Aug 1839 60 Green Arbour Court, Lambeth Hill +Thomas DALBY 18 Apr 1841 25 Green Arbour Court, Lambeth Hill +William DALBY 29 May 1842 65 Green Arbour Court, Lambeth Hill +William DAVIS 28 Jun 1845 71 Ludgate Street +William DAWES 25 Aug 1833 65 Taylor's Court, Lambeth Hill +Mary DAWSON 20 Oct 1850 62 14, Sermon Lane +James DAY 22 Jan 1815 0.13 Sermon Lane +John DAY 17 Nov 1819 1 Sermon Lane +Richard DAY 29 Apr 1819 36 Sermon Lane +Mary Ann DEACH 29 Oct 1843 0.22 Lambeth Hill +Jane DERBYSHIRE 19 Jan 1817 2 Old Change +William DEVEY 21 Dec 1834 0.3 Green Arbour Court, Lambeth Hill +Henry DIAL 07 Jun 1836 2w Crane Court Lambeth Hill +Frederick DILLAY 04 May 1834 2 Little Carter Lane +Richard DILLEY 26 Jan 1837 46 Little Carter Lane +William DOLBY 20 Jul 1824 5.6 Green Arbour Court, Lambeth Hill +Charles DORSETT 01 Oct 1848 0.6 4, Lambeth Hill +Mary DOUGLAS 26 Jan 1839 0.14 Knight Rider Street +Elizabeth DOWNES 04 Jun 1837 48 Taylor's Court, Lambeth Hill +John DRAKE 21 Apr 1833 50 Lambeth Hill +Elizabeth DUDLEY 03 Oct 1847 73 1,Taylor's Court, Lambeth Hill +Sarah DUNN 27 Oct 1816 55 Christ Church SRY +Amelia DYSON 06 Dec 1814 0.6 Old Change +Hannah DYSON 24 Mar 1819 60 High Street. Marylebone MDX +Robert Joseph DYSON 05 Jan 1813 1.6 Old Change +Thomas DYSON 18 Sep 1813 0.10 Old Change +William EADES 19 Aug 1818 5 Taylors Court Lambeth Hill +Edwin EARDLEY 08 Dec 1833 25 Little Knight Rider Street +Henry EDMONDS 09 Apr 1826 38 Old Change +William EDMUNDS 03 Feb 1825 60 Lambeth Hill +George EDWARDS 11 Jul 1813 49 Taylors Court Lambeth Hill +Harriet Sarah ELLARD 16 Jun 1844 0.11 Lambeth Hill +John Yates ELLIS 29 Nov 1830 5d Little Knight Rider Street +Thomas ELLIS 15 Mar 1829 0.10 Knight Rider Court +James ENTWISLE 22 May 1819 40 Little Knight Ryder Street +Mary Ann ESCOTT 26 Aug 1821 0.3 Crane Court Lambeth Hill +John EVANS 26 Aug 1819 11 Lambeth Hill +William EVANS 13 Nov 1814 1.2 Green Arbour Court, Lambeth Hill +Jane EXTON 26 Mar 1815 54 Green Arbour Court, Lambeth Hill +Lewis FACHE 28 Dec 1823 0.10 Crane Court Lambeth Hill +Mary FACHE 09 Jun 1822 0.18 Crane Court Lambeth Hill +Mary FARMFIELD 05 Mar 1843 64 Lambeth Hill +Elizabeth FARROW 20 Dec 1819 65 Green Arbour Court, Lambeth Hill +Edward FELLOWES 28 Apr 1833 2 Taylor's Court, Lambeth Hill +Lydia FELLOWS 28 Jan 1844 33 Lambeth Hill +William Henry FELLOWS 28 Jun 1837 0.13 Lambeth Hill +Mary Ann FERRIDAY 16 Mar 1851 69 2, Fish Street +Mary FIELD 20 Feb 1829 0.3 Lambeth Hill +Harriett FINCH 01 Feb 1852 0.9 Green Arbour Court, Lambeth Hill +George FLANDERS 16 Aug 1837 0.3 St Peters Hill +Louisa FLANDERS 25 Jun 1839 9.3 St Peters Hill +William FLANDERS 19 May 1833 2.6 St Peters Hill +William FLANDERS 28 Nov 1847 50 15 Labour in Vain Yard Lambeth Hill +Elizabeth FLINTAN 20 Jul 1832 39 Green Arbour Court, Lambeth Hill +Jane FLUDE 01 Nov 1832 58 Little Knight Ryder Street +Elizxabeth FOON 25 Aug 1833 14 Green Arbour Court, Lambeth Hill +George FOON 28 May 1816 0.19 Green Arbour Court, Lambeth Hill +John FOON 09 Jun 1816 4 Green Arbour Court, Lambeth Hill +John FOON 10 Jan 1841 60 Green Arbour Court, Lambeth Hill +William FOONE 16 May 1847 24 3, Green Arbour Court, Lambeth Hill +Levina FRANCIS 11 Aug 1844 6 Bennetts Hill +William FROSTICK 06 Nov 1825 1.8 Lambeth Hill +Elizabeth GABRIEL 30 Apr 1834 18 Lambeth Hill +George GALE 17 Nov 1833 6 Crane Court Lambeth Hill +Elizabeth GALLANT 27 Aug 1848 11 10, Crane Court +Esther GALLERY 01 Jun 1813 62 Taylor's Court, Lambeth Hill +Elizabeth GARDENER 13 Mar 1836 30 Knight Riders Court +James GARDNER 05 Jan 1826 0.16 Taylor's Court, Lambeth Hill +Sarah GARDNER 24 Nov 1831 50 Crane Court Lambeth Hill +Augusta Sophia GAUGIN 04 Nov 1821 16 Knowles Court +Jane GIBBS 10 Jul 1839 0.11 Green Arbour Court, Lambeth Hill +Martha GILES 12 Dec 1813 25 Green Arbour Court, Lambeth Hill +Thos Henry David GILHAM 17 Apr 1853 37 12,Little Knight Ryder Street +Eliza GLEESON 12 Mar 1815 0.18 Knight Rider Court +Caroline GODFREY 29 May 1821 0.4 Taylor's Court, Lambeth Hill +Elizabeth GODFREY 09 Jul 1818 2 Taylor's Court, Lambeth Hill +John GODFREY 24 Apr 1817 2 Crane Court Lambeth Hill +Louisa GODFREY 29 May 1821 0.4 Taylor's Court, Lambeth Hill +Eliza GOODALL 06 Apr 1845 28 Little Carter Lane +James GOODHALL 08 Oct 1843 49 Green Arbour Court, Lambeth Hill +Johanna GOODWIN 12 May 1815 86 Green Arbour Court, Lambeth Hill +Henry GOODYEAR 28 Jul 1850 14.9 12, Little Carter Lane +Abraham GOYMER 02 Sep 1839 48 Globe Road, Mile End +Abraham GOYMER 11 Dec 1823 5d Old Fish Street +Abraham Frederic GOYMER 06 Nov 1825 0.11 Old Fish Street +Amelia GOYMER 01 Mar 1831 0.10 Old Fish Street +Henry Robert GOYMER 20 May 1821 1.11 Old Fish Street +Sarah Augusta GOYMER 21 Nov 1833 0.8 Old Fish Street +Elizabeth GREEN 28 Dec 1814 2.9 Carter Lane +John GREEN 09 Dec 1814 4.6 Little Carter Lane +Sarah GREEN 25 Mar 1821 53 Little Carter Lane +William GREEN 07 Feb 1830 61 Old Change +William George GREEN 22 May 1839 35 Little Carter Lane +Charles GREENWOOD 18 Feb 1814 33 Old Fish Street +William GRIFFIN 12 Aug 1827 0.10 Lambeth Hill +Sarah Jane GRIFFITHS 13 Oct 1833 2.8 Sermon Lane +John GROVER 01 Feb 1814 5 Taylor's Court, Lambeth Hill +Sarah GROVER 04 Feb 1849 30 4, Taylor's Court, Lambeth Hill +Amelia GYDE 10 Nov 1839 0.1 Lambeth Hill +Thomas HALL 02 Mar 1845 64 Green Arbour Court, Lambeth Hill +Clara HANDLEY 19 Nov 1845 1 Lambeth Hill +John HARRIS 02 Jul 1837 62 Lambeth Hill +John Francis HARRIS 16 Jan 1842 0.20 Peter's Hill +Rosetta HARRIS 22 Jan 1837 74 Lambeth Hill +John HART 22 Jan 1826 51 Old Change +Henry HARTRUP 24 Oct 1813 1.7 Green Arbour Court, Lambeth Hill +Joseph HARTRUP 23 Dec 1818 2 Green Arbour Court, Lambeth Hill +Samuel HARTRUP 19 Mar 1815 0.2 Green Arbour Court, Lambeth Hill +William Matthew HASSALL 28 Nov 1852 0.3 2, Old Fish Street +Jane Charlotte HAWARD 22 Sep 1821 2w Little Carter Lane +Eleanor HAWKINS 14 Sep 1817 0.13 Canterbury Court, St Andrews Hil +Elizabeth Sarah HAWKINS 26 Nov 1838 4.2 Green Arbour Court, Lambeth Hill +Mary HAWKINS 01 Jul 1821 53 Knight Rider Court +Sarah Jane HAWKINS 30 Nov 1817 3 Canterbury Court, St Andrews Hill +Thomas HAWKINS 13 Dec 1818 55 Sermon Lane +Alice HAY 17 Nov 1850 57 6, Green Arbour Court, Lambeth Hill +James HEALD 13 Apr 1847 56 24, Old Change +Martha HEALD 03 Mar 1841 48 Lambeth Hill +William HEALD 21 Jul 1850 14 Old Change +Thomas HEATH 22 May 1836 72 Lambeth Hill +Robert HENDRY 28 Nov 1824 43 Labour in Vain Yard +William HENLEY 11 Dec 1814 43 Bottle Hay Yard +Robert HENRY 30 Jan 1814 66 Lambeth Hill +Ann HIBBLE 28 Aug 1833 53 Lambeth Hill +James HIBBLE 24 Jul 1833 75 Lambeth Hill +James HILLUM 26 Sep 1839 39 Knight Rider Court +James HINES 17 Jan 1813 40 Lambeth Hill +Elizabeth HOBART 19 Apr 1833 36 Little Knight Ryder Street +Janes HOLLOWAY 15 Jul 1818 0.10 Lambeth Hill +John HOLLOWAY 05 Jun 1821 6 Lambeth Hill +Elizabeth HOLMAN 08 Nov 1835 1.5 Little Carter Lane +William Henry HOLMAN 26 Apr 1835 14 Little Carter Lane +John HOOD 15 Dec 1844 51 Carter Lane +Robert HOOPER 16 Sep 1824 0.9 Green Arbour Court, Lambeth Hill +William HOOPER 25 Sep 1839 19 Green Arbour Court, Lambeth Hill +Martha HOPKINS 18 Mar 1825 84 Taylor's Court, Lambeth Hill +Henry HORNER 06 Apr 1847 45 Knowles Court +Benjamin HOTINE 15 Feb 1829 53 Little Knight Rider Street +Mary HOTINE 27 Oct 1819 49 Lambeth Hill +John HUGGINS 09 May 1849 47 6, Lambeth Hill +Edwin HUGHES 11 Sep 1829 5d Lambeth Hill +Hannah HUGHES 11 Sep 1829 25 Lambeth Hill +Elizabeth HULCUP 09 Jan 1814 2.6 Old Change +William HURN 06 Feb 1826 0.2 Lambeth Hill +Mary Harris HUTCHINSON 14 May 1837 2 Little Carter Lane +Mary Ann ISLIP 20 Dec 1840 4 Lambeth Hill +James JACKSON 19 May 1822 0.10 Friday Street +Mary Ann JACKSON 31 Jul 1814 1.3 Knowles Court +Sarah JACKSON 05 Dec 1819 68 Labour in Vain Crt, Little Fish +Simmons JACKSON 24 Oct 1819 4 Friday Street +Mary JARRAL 04 Oct 1824 69 Lambeth Hill +James JARRETT 11 May 1851 39 12,Crane Court Lambeth Hill +Thomas JARVIS 23 Apr 1825 39 Little Knight Ryder Street +Susan JEWELL 17 Mar 1850 0.5 10, Little Carter Lane +James JOHNS 13 Jan 1842 51 Lambeth Hill +Richard JOHNS 13 Mar 1827 28 Knight Rider Court +Eliza Sarah JOHNSON 06 Jan 1822 2.6 Lambeth Hill +George JOHNSON 05 Feb 1817 64 Taylor's Court, Lambeth Hill +Sarah JOHNSON 28 Jan 1827 41 Lambeth Hill +Caroline JONES 31 Oct 1821 0.15 St Peters Hill +Elizabeth JONES 12 Jul 1815 0.21 Lambeth Hill +Elizabeth JONES 20 Jan 1822 61 Little Carter Lane +George JONES 18 Mar 1827 0.13 Bell Inn Yard, Friday Street +James John JONES 12 Aug 1832 37 Knight Rider Court +John JONES 27 May 1819 60 Windsor Crt, Little Knight Rider +John Amos JONES 02 Nov 1828 0.9 Bell Inn Yard, Friday Street +Margaret JONES 14 Apr 1833 58 Crane Court Lambeth Hill +Martha JONES 09 Jun 1850 7 9, Little Carter Lane +Mary Ann JONES 27 Sep 1849 8 20,Lambeth Hill +Rebecca JONES 01 Dec 1833 86 Green Arbour Court, Lambeth Hill +William JONES 08 Nov 1835 40 St Bartholomew's Hospital +William JOPP 10 Sep 1833 24 Great Trinity Lane +William JOPP 01 May 1834 0.8 Oxford Street +Anne JORDAN 25 Nov 1832 36 Knight Ryder Court +Frances Ann JORDAN 14 May 1827 3.4 Knight Ryder Court +Joseph KELLY 31 Dec 1815 27 Little Knight Ryder Street +Clara KEMSHEAD 21 May 1843 3.6 25, Lambeth Hill +Richard KEMSHEAD 21 Feb 1841 35 Lambeth Hill +Hannah KENDRICK 27 Nov 1831 71 Crane Court Lambeth Hill +Hannah KENDRICK 06 Dec 1821 0.11 Old Change +Daniel KENSEY 04 Nov 1825 3d Knight Rider Court +Thomas Joel James KENSEY 27 Mar 1822 4 Lambeth Hill +Henry KERR 05 Dec 1823 3 Little Knight Ryder Street +William KNIGHT 30 Mar 1828 35 Knight Rider Court +Frederick KOPP 20 Dec 1818 45 Kings Head Crt, Little Carter Lane +Mary LANGDON 15 Mar 1813 36 Blackheath Hill Kent +William LANGLEY 27 Feb 1820 42 Old Change +Henry Richard LAVIS 24 Oct 1848 0.5 7, Lambeth Hill +Sarah Ann LAVIS 15 Oct 1848 2 7, Lambeth Hill +Chas Nathaniel LAWRENCE 02 Dec 1838 10 Old Change +Frances LEAVER 25 Nov 1830 28 Little Knight Ryder Street +Charles LEE 16 Mar 1828 0.13 Sermon Lane +George Edwin LEE 22 Apr 1830 5 Little Carter Lane +Hannah LEE 21 Apr 1844 53 Sermon Lane +Hannah LEE 30 May 1852 22 17,Sermon Lane +Samuel LEE 26 Jul 1834 5.9 Sermon Lane +Jane LEGG 10 Feb 1833 26 Green Arbour Court, Lambeth Hill +John LESTER 22 May 1814 61 St Mary, Lambeth +Mary LEWIN 18 Aug 1850 63 7,Little Knight Ryder Street +Catherine LINCH 27 May 1813 0.2 Green Arbour Court, Lambeth Hill +John LINCK 22 May 1814 0.7 Taylor's Court, Lambeth Hill +Martin LINCK 05 Mar 1817 0.7 Taylor's Court, Lambeth Hill +Sarah LINSELL 24 Dec 1828 62 Taylor's Court, Lambeth Hill +Thomas LINSELL 15 Jan 1832 63 At Andrews Hill +Mary LINSELL 22 Dec 1844 43 Crane Court Lambeth Hill +Samuel LITTLE 23 Feb 1851 2 3, Taylor's Court, Lambeth Hill +Harriet LLOYD 17 Aug 1831 1.9 Lambeth Hill +Richard LLOYD 03 Feb 1830 40 Lambeth Hill +James LOOKER 01 Dec 1825 2.6 Lambeth Hill +John LOOKER 11 Sep 1831 45 Lambeth Hill +John Edward LOOKER 20 Jul 1831 0.20 Lambeth Hill +Thomas LOOKER 09 May 1824 2.10 Lambeth Hill +Wilhelmina Lydia LOVE 22 Aug 1820 0.10 Lambeth Hill +Hannah LUCAS 27 Dec 1829 67 Taylor's Court, Lambeth Hill +William LYALL 05 Jan 1851 63 23 Peter's Hill +Daniel LYONS 27 Apr 1834 1.6 Green Arbour Court, Lambeth Hill +Thomas LYONS 03 Apr 1833 2 Green Arbour Court, Lambeth Hill +Elizabeth MACKEY 10 Apr 1853 77 193, Upper Thames Street +Richard Jebb MADELEY 18 Jul 1813 1.4 Green Arbour Court, Lambeth Hill +John Sadler MAIL 07 Mar 1816 3 Sermon Lane +Richard MALLON 17 Feb 1850 0.2 23, Lambeth Hill +George Henry MANN 16 Jun 1822 0.13 Lambeth Hill +Elizabeth MANNING 07 Oct 1818 0.10 Little Carter Lane +Sarah MARCHANT 20 May 1850 87 12, Sermon Lane +William MARCHUM 15 Dec 1822 22 Taylor's Court, Lambeth Hill +Ann MARECHAL 07 May 1837 73 Little Knight Ryder Street +Caroline MARECHAL 23 Apr 1820 22 Little Knight Ryder Street +Anthony Romney MARSHALL 05 Aug 1839 0.19 Little Knight Ryder Street +Frederick MARSHALL 05 Aug 1839 4 Little Knight Ryder Street +Mary Ann MARSHALL 25 Aug 1814 5 St Mildreds Crt Bread Street +Mary Louise MARSHALL 20 Dec 1839 5 Little Knight Ryder Street +Francis MARTIMORE 27 Jun 1824 64 Lambeth Hill +Edward MARTIN 09 Aug 1825 49 Lambeth Hill +Mary MARYON 06 Feb 1842 38 Boss Court Upper Thames Street +Simon MARYON 03 Mar 1841 41 Crane Court Lambeth Hill +Emma MASDON 13 Nov 1825 0.10 Lambeth Hill +George MASON 26 Oct 1837 0.5 Knight Rider Court +James MASON 12 Jun 1839 0.3 Crane Court Lambeth Hill +John MASON 23 Jun 1846 18 Crane Court Lambeth Hill +Richard MASON 12 Oct 1826 49 Lambeth Hill +Sarah MASON 02 Jun 1839 3.10 Crane Court Lambeth Hill +Sophie McGOWAN 06 Mar 1836 55 St Peters Hill +Nathaniel McGOWEN 20 Jan 1841 76 Lambeth Hill +Christianus MEADOWS 03 Apr 1823 67 Bell Court +Mary MEADOWS 07 Feb 1823 74 Taylor's Court, Lambeth Hill +Hannah MELLOR 20 Feb 1825 60 Bell Court, Great Carter Lane +Elizabeth MILLINGTON 23 Jan 1818 0.13 Lambeth Hill +Sarah MILLWARD 29 Oct 1841 84 Little Carter Lane +James MILNER 05 Apr 1830 61 Crown Court Old Change +Mary MILNER 14 Jul 1822 56 Old Change +Thomas MILWARD 02 Nov 1834 84 Lambeth Hill +Caroline MOLE 15 Nov 1840 63 Holiday Yard +Ann MOORES 02 Jul 1817 43 Fleet Market +Henry MORE 06 Jun 1814 0.14 Lambeth Hill +Charles MORGAN 22 Feb 1824 0.14 Crane Court Lambeth Hill +William James MORGAN 26 Jul 1833 0.15 Crane Court Lambeth Hill +Ann MORRIS 10 Jan 1819 76 Green Arbour Court, Lambeth Hill +Mary MORRIS 30 Mar 1828 96 Lambeth Hill +Thomas MORRIS 07 Apr 1815 71 Carter Lane, Old Change +Job MORTON 17 Dec 1813 45 St Bartholomews Hospital +Edward MOULL 25 Apr 1821 6w Green Arbour Court, Lambeth Hill +Robert MULLIS 29 Jun 1828 38 Sermon Lane +Ann MURRAY 13 Mar 1821 62 Green Arbour Court, Lambeth Hill +James MURRAY 15 Jan 1815 27 Taylor's Court, Lambeth Hill +Thomas William NEALE 03 Sep 1828 1 Lambeth Hill +Eliza NEGUS 12 Dec 1847 43 5, Lambeth Hill +Mary NETTLETON 02 Jan 1845 69 Knight Rider Court +Philadelphia NEWBLE 12 Jun 1818 25 Green Arbour Court, Lambeth Hill +John NEWHALE 04 Nov 1833 58 Woolwich Kent +Joseph NEWHALL 08 Jul 1833 61 Little Knight Ryder Street +Joseph NEWMAN 24 Sep 1843 1 Old Change +Caroline NICHOLAS 06 Feb 1834 6 Little Carter Lane +Francis NORIS 05 Feb 1837 45 Lambeth Hill +Mary Ann NORRIS 03 Oct 1849 18 7, Little Knight Ryder Street +Elizabeth Webb NORTWYCK 06 May 1818 37 Little Knight Ryder Street +Elizabeth NOTLEY 28 Jan 1819 5 Upper Thames Street +William NOTTLEY 30 Apr 1818 0.11 Printing Ho Yard Water Lane +Thomas Ebenezer OGILVY 19 Mar 1843 2.5 Little Knight Ryder Street +Jane Elizabeth ORAM 06 Apr 1817 0.22 Lambeth Hill +Sarah ORAM 21 Feb 1819 37 Lambeth Hill +Susannah ORAM 27 Apr 1817 60 Crane Court Lambeth Hill +Elizabeth ORTSON 03 Jan 1819 46 Crane Court Lambeth Hill +Susan OXFORD 08 Nov 1826 0.15 Crane Court Lambeth Hill +Elizabeth PARRY 12 Mar 1826 41 Old Change +Maria PARTRIDGE 20 Nov 1842 60 Great Trinity Lane +Amy PAYNE 29 Mar 1839 42 Little Carter Lane +Hannah PAYNE 02 Jul 1816 40 New Street, Shoe Lane +Elizabeth PEASTON 11 Dec 1842 0.11 Taylor's Court, Lambeth Hill +Alice Elizabeth PERKINS 30 Nov 1845 68 Bell Court, Temple Bar +Elizabeth PERKINS 25 Oct 1816 0.16 Green Arbour Court, Lambeth Hill +Emma PERKINS 11 Jul 1827 14w Lambeth Hill +Mary PERKINS 21 Sep 1814 1.3 Green Arbour Court, Lambeth Hill +Mary PERKINS 02 May 1833 45 Lambeth Hill +Robert PERKINS 29 Jun 1821 3 Green Arbour Court, Lambeth Hill +Stephen PERKINS 25 Mar 1838 19 Old Fish Street +Thomas PERKINS 31 Mar 1833 50 Lambeth Hill +Thomas Robert PERKINS 04 Sep 1814 6.7 Green Arbour Court, Lambeth Hill +Elizabeth Ann PETTIT 23 Mar 1819 38 Little Knight Ryder Street +Susannah PETTIT 14 May 1817 69 Blackheath Kent +Sarah PHILLIPS 26 Oct 1834 59 Lambeth Hill +Susan PHILLIPS 06 Jan 1828 61 Lambeth Hill +William PHILLIPS 22 Feb 1829 66 Crane Court Lambeth Hill +James PHILP 03 Aug 1837 0.4 Knight Rider Court +Mary PHILP 23 Dec 1838 46 Knight Rider Court +William PHILP 07 Jul 1833 16 St Peters Hill +William Andrew PINK 02 Jun 1816 1.9 Lambeth Hill +James PITT 07 Oct 1849 3 2,Lambeth Hill +William Earl PITT 07 Oct 1849 3 2,Lambeth Hill +Charles PLUMRIDGE 21 Nov 1849 0.14 4, Green Arbour Court +William PLUMRIDGE 25 Aug 1833 75 Taylor's Court, Lambeth Hill +George POCOCK 09 Jun 1814 35 St Bartholomew's Hospital +Georgina POWELL 24 Jul 1830 43 Little Carter Lane +Robert POWELL 13 Oct 1837 1 Knight Rider Court +Henry PRESCOTT 17 Sep 1817 0.11 Lambeth Hill +Elizabeth PRICE 30 Jan 1825 53 Noble Street, St Lukes MDX +Hiram PRICE 01 Aug 1820 60 Lambeth Hill +Mary Ann PRICE 18 Jul 1832 9 Lambeth Hill +William PRICE 16 Mar 1828 30 Knight Rider Court +Philip John PRUDORN 19 Dec 1838 40 Sermon Lane +Alfred PRYCE 17 Nov 1850 1 1, Sermon Lane +Jane PUZEY 27 Aug 1829 0.13 Crane Court Lambeth Hill +George RADFORD 23 Sep 1824 18 St Peters Hill +William RADFORD 13 Feb 1826 57 St Peters Hill +George READ 20 Aug 1833 66 Green Arbour Court, Lambeth Hill +Mary Ann READ 30 Apr 1815 0.9 Little Knight Ryder Street +Sarah READ 05 May 1833 65 Green Arbour Court, Lambeth Hill +John REDDALL 22 Aug 1834 72 Sermon Lane +Jane REDHALL 28 Dec 1816 59 Sermon Lane +Alfred RENWELL 22 May 1842 0.18 Crane Court Lambeth Hill +Jane RICHARDS 21 Aug 1831 7w Green Arbour Court, Lambeth Hill +Mary RICHARDS 07 Feb 1819 3 Stepney MDX +Mary RICHARDS 26 Oct 1819 82 Lambeth SRY +Thomas RICHARDS 06 May 1819 44 Taylor's Court, Lambeth Hill +William RICHARDS 09 Jan 1818 43 John Street, St George MDX +Hubert Paul RIVOUS 07 Apr 1835 15 Little Knight Rider Street +Elizabeth ROBERTS 28 May 1839 1.11 Green Arbour Court, Lambeth Hill +Geroge Henry ROBERTS 20 Oct 1839 0.3 Green Arbour Court, Lambeth Hill +John ROCKELL 09 Aug 1835 69 Taylor's Court, Lambeth Hill +Jane ROCKLE 03 Aug 1845 74 6, Lambeth Hill +Harriet RODGERS 06 Jan 1820 61 Pratt Street, Lambeth +Hannah ROGERS 10 Nov 1824 5 Knight Rider's Court +Maria ROSE 29 Jun 1828 8 Taylor's Court, Lambeth Hill +Henry ROSS 22 Aug 1841 37 Little Carter Lane +Charles ROWLEY 03 Nov 1822 79 Old Change +Martha RUSS 20 Jun 1816 66 Green Arbour Court +Richard RUSS 13 Sep 1818 68 Little Fish Street Hill +Alfred RYDER 15 Jan 1843 2.6 Sermon Lane +Margaret RYDER 03 Jul 1814 64 Knight Rider Court +Emma SALIS 23 Jul 1833 2w Knight Rider Court +Nicholas SANDELL 08 Apr 1821 50 Old Change +Mary Ann SARGENT 14 Dec 1835 0.10 Taylor's Court, Lambeth Hill +William SARGENT 15 Feb 1829 0.5 Lambeth Hill +William John SARJANT 08 Jun 1838 5w Taylor's Court, Lambeth Hill +Mary SARTINE xx Sep 1815 64 Taylor's Court, Lambeth Hill +Ann SAUNDERS 21 May 1852 90 1, Taylor's Court, Lambeth Hill +George SAYER 21 Aug 1813 3.3 Old Change +Christian SCHINDLER 27 Jan 1830 58 Knowles Court Little Carter Lane +Bella SCOTT 04 Jun 1840 11 Lambeth Hill +Henry SEATORN 22 Feb 1814 4.9 Lambeth Hill +Jane SEATORN 08 Feb 1814 1.11 Lambeth Hill +Sarah SEDGWICK 31 Jul 1821 49 St Peter's Hill +Henry SHIPMAN 02 Nov 1826 39 Little Carter Lane +Martha SHIPMAN 28 Apr 1850 69 9, Crane Court Lambeth Hill +Ann SHIRMER 17 Feb 1822 26 St Peter's Hill +James SHORT 22 Sep 1822 22 Little Knight Ryder Street +William SHURRY 25 Jan 1818 0.1 Little Carter Lane +Ann SKATES 08 Oct 1837 50 Green Arbour Court, Lambeth Hill +Janet SKEENE 31 Dec 1829 63 Little Knight Rider Street +John SMALE 22 Jul 1832 51 Green Arbour Court, Lambeth Hill +Ann SMITH 26 Jan 1845 31 Sermon Lane +Ann Harriett SMITH 16 Oct 1847 3 25, Lambeth Hill +George Trinity SMITH 18 Aug 1822 29 Lambeth Hill +Mary Ann SMITH 26 Nov 1813 2 Workhouse +Richard SMITH 04 Aug 1817 35 Crane Court Lambeth Hill +Richard Ann SMITH 01 Apr 1813 0.3 Lambeth Hill +Sophia SMITH 05 Feb 1815 18 Little Knight Ryder Street +Thomas SMITH 20 Oct 1823 28 Old Change +Thomas SNOWDEN 05 Aug 1814 43 Knowles Court +Clara Emmeline SPEECHLEY 16 Dec 1838 3.5 Christ Church Surrey +Eliza Ellen SPEECHLEY 28 Feb 1836 3 Prujean Square Old Bailey +John SPEECHLEY 03 May 1821 68 Sidney Street, Islington MDX +John Edward SPEECHLEY 09 Nov 1828 4 Sermon Lane +Thomas Henry SPEECHLEY 07 Mar 1830 3.6 Sermon Lane +William SPEED 07 Jun 1846 0.3 24, Peters Hill +Mary SPRINGH 24 Mar 1816 4d St Peter's Hill +Maria STAINES 28 Nov 1840 0.3 Lambeth Hill +William STEDMAN 17 Feb 1813 0.7 Crane Court +Eliza STEVENS 06 Mar 1822 0.11 Bells Court, Docotr's Commons +Elizabeth STEVENS 23 Mar 1817 66 Green Arbour Court, Lambeth Hill +Emily Esther STEVENS 22 Apr 1832 1.7 Bell Court, Doctors Commons +John Paul STEVENS 17 Jan 1827 66 Crane Arbour Court +Maria STEVENS 16 Nov 1820 1.9 Bell Court, Doctor's Commons +William Nick STEVENS 07 Feb 1847 21 Bell Court +James STEWART 05 Apr 1829 4w Sermon Lane +Sarah STEWART 11 Dec 1831 1.9 St Johns Street, Smithfield +Mary STRAITON 08 Nov 1835 2.10 Little Knight Ryder Street +William STRANGE 03 Apr 1853 44 19, Little Knight Ryder Street +Elizabeth Lydia STRATTON 17 Aug 1834 25 Sermon Lane +Joseph STRICKFIELD 19 Jul 1835 0.4 Lambeth Hill +Thomas STRICKLAND 11 Sep 1835 73 Little Knight Ryder Street +Margaret TALBOTT 01 Dec 1833 31 Little Carter Lane +Henry TAPP 17 Aug 1845 57 Crane Court Lambeth Hill +Mary TAYLOR 23 Jan 1814 22 Knight Rider Court +Joseph TEMPEST 26 Dec 1841 73 Taylor's Court, Lambeth Hill +Henry THEED 17 Mar 1842 37 Sermon Lane +John THEOBALD 23 Mar 1817 45 Lambeth Hill +Mary THOMPSON 21 Mar 1844 82 Sermon Lane +Sarah THOMPSON 07 May 1844 78 Lambeth Hill +William THOMPSON 10 Oct 1839 75 Green Arbour Court, Lambeth Hill +Ann THOMSON 26 Mar 1820 63 Red Lion Street, Holborn +David THOMSON 29 Jan 1837 5 Old Change +Robert THOMSON 04 Aug 1813 25 Fleet Market +George THORNTON 03 Sep 1820 60 Lambeth Hill +Agnes TINDALL 15 Mar 1818 0.19 Kings Head Crt Little Carter Lan +John TINDALL 19 Oct 1815 0.7 Green Arbour Court, Lambeth Hill +Elizabeth TINKLER 22 Mar 1846 66 Little Carter Lane +William TRACEY 31 May 1849 2 8, Green Arbour Court +James Frederick TRAYLEN 10 Jul 1828 0.4 Little Carter Lane +Charles TRIMMING 17 Aug 1837 15 Taylor's Court, Lambeth Hill +Maria Ann TUCKER 30 Aug 1815 0.8 Green Arbour Court, Lambeth Hill +William TYRRELL 25 Dec 1822 0.2 Lambeth Hill +Moot VALENTINE 14 Sep 1832 43 Crane Court Lambeth Hill +Joseph VERE 11 Feb 1819 65 Cloth Fair, Smithfield +George Frederick VIGOR 23 Nov 1828 2 Little Knight Ryder Street +Sarah VINCE 14 Aug 1831 1 Lambeth Hill +Penfold WAKEFIELD 18 Feb 1844 4.8 Knight Rider Court +Stephen C WAKEFIELD 12 Aug 1851 53 1, Knight Rider Court +Caroline Lydia WALKER 17 Mar 1817 0.1 Little Knight Ryder Street +Charlotte WALKER 17 Aug 1851 0.7 20, Lambeth Hill +John Henry WALKER 08 Jul 1829 0.5 Knight Rider Court +Mary WALKER 27 Nov 1817 30 Little Knight Ryder Street +Eliza WALLINGER 20 May 1821 0.10 Taylor's Court, Lambeth Hill +Mary Ann WALLINGER 02 Aug 1818 1.6 Taylor's Court, Lambeth Hill +William Isaac WALSHAM 21 Jan 1849 0.9 2, Lambeth Hill +Peter WARBURTON 13 Mar 1823 47 Old Change +George WARD 30 Jul 1820 21d Lambeth Hill +Maria WARD 11 Dec 1849 43 2, Lambeth Hill +Martha WARD 12 Mar 1815 36 St Peter's Hill +Joseph WARHAM 22 Nov 1818 0.18 Green Arbour Court, Lambeth Hill +Edward WATERLANE 14 Sep 1826 32 Bread Street Hill +Henry Samuel WATT 01 Oct 1823 0.10 St Peter's Hill +John Francis WATTS 08 Dec 1813 3 Old Change +Mary WEEKS 23 Dec 1849 57 11, Little Carter Lane +Joshua WELCH 21 Apr 1828 25 Little Knight Rider Street +Sarah WELCH 23 Feb 1840 20 Old Fish Street +Sarah WELCH 23 Feb 1840 20 Old Fish Street +George WESTCOTT 04 Apr 1838 40 Crane Court Lambeth Hill +Mary WESTCOTT 17 Aug 1833 26 Knight Rider Court +Ann WHIFFEN 15 Dec 1824 42 St Peter's Hill +Peter WHITE 30 Nov 1851 70 5, Knight Rider Street +Ann WHITEHOUSE 18 Feb 1814 42 Lambeth Hill +William WHITEKER 02 Feb 1845 43 Peter's Hill +James Fredrk. WHITTAKER 05 Mar 1820 0.16 Little Fish Street Hill +John Butler WHITTAKER 20 Aug 1817 15w Lambeth Hill +Elizabeth WILD 22 Dec 1835 23 Lambeth Hill +John WILD 17 Aug 1817 64 St George's Court, St Bennets Hil +John WILLIAMS 18 May 1834 40 Old Change +Susannah WILLIAMS 13 Nov 1842 56 Green Arbour Court +Ann WILLOUGHBY 04 Feb 1818 67 Green Arbour Court, Lambeth Hill +John WILLSON 16 Apr 1826 25 Little Carter Lane +Robert WILLSON 04 Jan 1817 19 Crane Court Lambeth Hill +Samuel WILLWARD 25 Apr 1813 63 Lambeth Hill +Jane WILSON 01 Nov 1816 46 Little Knight Ryder Street +Joseph WILSON 06 Jun 1835 2 Green Arbour Court, Lambeth Hill +Samuel John WINDSOR 30 Apr 1817 0.2 Lambeth Hill +Jonathan WINSON 17 Feb 1822 34 Taylor's Court, Lambeth Hill +Charles WISE 22 Dec 1816 49 Lambeth Hill +Mary WISE 25 Jan 1820 44 Lambeth Hill +Jane WISHER 28 Apr 1833 0.11 Lambeth Hill +Jane WISHER 19 Dec 1851 50 4, Lambeth Hill +Sarah WISHER 27 Jan 1835 1 Lambeth Hill +Hannah WOOD 03 Mar 1830 7w Knight Rider Court +Samuel WOOLFE 05 Mar 1846 76 4, Lambeth Hill +Jacob WRAGG 23 Sep 1818 62 Little Knight Ryder Street +Margaret WRAGG 30 Oct 1819 73 Stangate Lambeth +William WRIGHT 24 Jan 1844 74 Greeham, East Kent +Benjamin Day YATES 16 Feb 1819 1.8 Sermon Lane +George YOUNG 11 May 1845 73 Peter's Hill diff --git a/01 Strings/07 Cemetery/cemetery_short.txt b/01 Strings/07 Cemetery/cemetery_short.txt new file mode 100644 index 0000000..184e2aa --- /dev/null +++ b/01 Strings/07 Cemetery/cemetery_short.txt @@ -0,0 +1,8 @@ +John William ALLARDYCE 17 Mar 1844 2.9 Little Knight Ryder Street +Frederic Alex. ALLARDYCE 21 Apr 1844 0.7 Little Knight Ryder Street +Philip AMIS 03 Aug 1848 1 18 1/2 Knight Rider Street +Thomas ANDERSON 06 Jul 1845 27 2, Bennet's Hill +Edward ANGEL 20 Nov 1842 22 Crane Court Lambeth Hill +Lucy Ann COLEBACK 23 Jul 1843 14w Lambeth Hill +Thomas William COLLEY 08 Aug 1833 4d Lambeth Hill +Joseph COLLIER 03 Apr 1831 58 Lambeth Hill \ No newline at end of file diff --git a/01 Strings/08a StringCoder/String Coder.doc b/01 Strings/08a StringCoder/String Coder.doc new file mode 100644 index 0000000000000000000000000000000000000000..72c459089421df4ae68df7a1d3b256b6fc1c35c5 GIT binary patch literal 44032 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 IKT-n!13OFX=l}o! literal 0 HcmV?d00001 diff --git a/01 Strings/08a StringCoder/StringCoder.class b/01 Strings/08a StringCoder/StringCoder.class new file mode 100644 index 0000000000000000000000000000000000000000..d7224fd26f399d5d4140431634ae258434c5d20f GIT binary patch literal 2205 zcmaJ?+fEx-6kW%2v&|5wQDu26CyQL zAMz3HOCPFAd2OYZNU53+=wrX2Ql&oi3nEdvj%|V|ZZ-0mbN1P1@3r>YXZ-8mFJA#T z0U1XtPQ=iHktj~a(S%VojK$H5Qwh49RkM%Pa83;w3+I)?CvhH`P?if8CM`?}*vn2S zltC^GTyH@jk$vc_I>SZBTNtj|#sth$uIGm10?EGJ+x=Gs^o(DS0xenBlQZSzc^O=B z=8Lo>vVPtvUUdRjt!qX-Ty#qU&Dm-Kbv960sz?Z_AoH|sK|0)btLAyh3Bs}d-4Fzf zQpi04K}Kd#dJEwq7cMteXjjR0#NfJ`qp+2vITt$lrDPMs3~6#0_lZS zd7+*FpEn9t>=6{ zBpYXCT84{$q10mHaujnma=2pSGhDTCP^2c#-uFVs^%$k2K1ycM33BpLnOe)Se%8RM zNHhE3KQ0fc8HxfqC;J*Pv2aHf-Vx~8uAl3z`b)BQL95gzoP6j9Pb}nl1G2uqR8}20 z<#{s56rEB@66sg0@}8puowb;+V8G-akKv|f1|X=8BUM?{i3ALITy%$Kl$>1UdFzWLkW_dKgr5Ogau&T}=v5B3G(o@AaW z9OF98tEv!@s8W7vpnz_8FO zUNd$?-P#(LKN(YTxvZT|X`Mtmqktb>NAzoSJd23V)H-6{!F-P9+Wzy+-#OC@b-wYm z{xh0xBz2yPy?{Mxv>V$bhe!>$&a^jJ=9`q}Hi_LKjk|<;4})+Bb{=Pt=ZC5AhBQIF zk>N7>Dl$a)t?4J}2qR5mfHsZi61C#YaFt>_qe8j~+6H2RtoO&r_9%v`oW%ihjuO&b zYvC6(QNn~as%vROQT+y;gIxohHRn=;N>gJUd$JYb{^+9jsHvr`q}6Ux^hCRvv<8#b z@!T_u!v586Zj(-6@2t6;d4^$V}?3v@-)tM)Q4`?$Oy{pm>W~CrUpl@>1 vw9vw$Sol!YhJOkNHxN~;*F>lKM%|Az?(-dIuDg`x9&f{GuA^L!^LOSSV5a00 literal 0 HcmV?d00001 diff --git a/01 Strings/08a StringCoder/StringCoderDriver.class b/01 Strings/08a StringCoder/StringCoderDriver.class new file mode 100644 index 0000000000000000000000000000000000000000..e65004065faf6d32881a4e7b9ff9dc7c75fdf54c GIT binary patch literal 1964 zcmaJ>&r=&^7=FI|+TE~}k{B>n5RfVqC>1JgNv*Y13K}RHq_+5L314AJvKx0dAia2T zrZXOT@Z{Nxo}AG`I#Xx3>5Sg|6FfMM2XA_DM)diTFa(3{%zoedz2Eyh@6X*I_8;v5 zxPbTK=)^e<&*_+mBZNsE=hgnafhk-_&?XbdWxSx4E9&A!C0*6=l8$RSW;9&a@UlSc zvhCQx6@l>3@QOfW#$A^J9a-Cvir)A~lJuo41N9mS?MTLm3G+ZC@an%>|zA zY$&XE-Lto)mmyWjvK@i0q1Eh`wQY?TEoWoAZkSQ7gw1!Jc9yrHNRBZR2>E$|_GW%E zhx{^?s}1dvvJ*&#IhEB#;znYq}LU=i46yyZ7vJS$h7C^yK>$J6|a7mbuFHyPjJLHsy}H zEuF1OAlIx7#d1TypvsfhhV)F#VP3;4CSFBW;N&&e4gA2f$_p~sbl3fk7#4Ianz)H2 z4X>Ga9XCwmkTkK3H)6rj$6Dd(AgAqy=ioH*r}UqTQVOU zQPlwgsiD?7tB#t|$#Vn_%=(Wr`&ZYR9OicYK$h4Uw?en6x(nMKU*c#5E{VDPY*wzKUPWMlg4A$-&shuWNX9O=yzE#H^S z0s&%e!THjCu3NSMPkLIkyJIj8!b=>_BETyen|J zCBNfh6X^YaJM`lu|7Ge4f!{EaTp#0UoV(y2J@XLatJ-ynYpkwB7iF^{cjIxM45aY{ zH3Wz5AdEP5``;jRI}v_}NOmLZ)Kw85 z8Lgsik@8p-=18KQsOd;}Dw>L>BSfZola8dKhuA2wKR2-H2*J})WkYv_pHT2vcuGrY z>DU20meLO4S~EPR;F^Ln6v8_cTn|qfDI={P!1a`I2sfJHx`G=DZV;}j7KWEPt+%@FiU_ha0*}I zNtUh$dw2@pp$|W@l|OO+1q1jEPvZ{^;xBqooq9kYNn%eC6Xt)dwU2hA;0$#JM#w$|eIH2;Aq}JAPo(Kp!&v>$vyZ<2IMDN1qC*_e)mn@KxA8XauqqdM L)*0<3zSI8zr<~fc literal 0 HcmV?d00001 diff --git a/01 Strings/08a StringCoder/StringCoderDriver.java b/01 Strings/08a StringCoder/StringCoderDriver.java new file mode 100644 index 0000000..942b315 --- /dev/null +++ b/01 Strings/08a StringCoder/StringCoderDriver.java @@ -0,0 +1,176 @@ +// Name: +// Date: + +import java.util.*; +public class StringCoderDriver +{ + public static void main(String[] args) + { + StringCoder sc = new StringCoder("sixtyzipperswerequicklypickedfromthewovenjutebag"); + StringPart[] sp = sc.encodeString("overeager"); + for(int i=0; i 0 + * @return the string obtained by concatenating the parts of the master string + */ + //PART A: // =8 + public String decodeString(StringPart[] parts) + { + // 1 + String decodedString = ""; + + for (int i = 0; i < parts.length;i++) { + int start = parts[i].getStart(); + int length = parts[i].getLength(); + decodedString += masterString.substring(start, start+length); + } + + return decodedString; + } + + + /** @param str the string to encode using the master string + * Precondition: all of the characters in str appear in the master string; + * str.length() > 0 + * @return a string part in the master string that matches the beginning of str. + * The returned string part has length at least 1. + */ + private StringPart findPart(String str) + { + int x = 0; + String s = str.substring(0, x); + while( masterString.contains(s) ) + { + x++; + if(x > str.length()) + break; + s = str.substring(0, x); + } + s = str.substring(0, x - 1); + int start = masterString.indexOf(s); + StringPart sp = new StringPart(start, s.length()); + return sp; + } + + + /** @param word the string to be encoded + * Precondition: all of the characters in word appear in the master string; + * word.length() > 0 + * @return an ArrayList of string parts of the master string that can be combined + * to create word + */ + // Part B // =12 + public StringPart[] encodeString(String word) + { + StringPart[] temp = new StringPart[100]; + int partCount = 0; + String currentPart = ""; + int index = 0; + + while(word.length() > 0) { + temp[partCount] = findPart(word); + word = word.substring(temp[partCount].getLength()); + partCount++; + } + + StringPart[] parts = new StringPart[partCount]; + for (int i = 0; i < parts.length; i++) + parts[i] = temp[i]; + + return parts; + } +} + +class StringPart +{ + private int start; + private int length; + /** @param start the starting position of the substring in a master string + * @param length the length of the substring in a master string + */ + public StringPart(int start, int length) + { + this.start = start; + this.length = length; + } + + /** @return the starting position of the substring in a master string + */ + public int getStart() + { + return start; + } + + /** @return the length of the substring in a master string + */ + public int getLength() + { + return length; + } + public String toString() + { + return "(" + start + ", " + length + ")"; + } +} + +/*********************************** + + (37, 3), (14, 2), (46, 2), (9, 2), + overeager + (20, 1), (6, 6), + kippers + (19, 1), (31, 1), (21, 1), (31, 1), (40, 1), (1, 1), (46, 1), (21, 1), (0, 1), + colonials + (12, 4), (36, 2), (21, 1), (29, 1), + werewolf + +******************************/ + diff --git a/01 Strings/08a StringCoder/StringPart.class b/01 Strings/08a StringCoder/StringPart.class new file mode 100644 index 0000000000000000000000000000000000000000..b64ac69c1964791ac207cb973907e287678206b3 GIT binary patch literal 1060 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 ZAOSqnpp@v@aGf4OvA>LSSKsHr{|6k#fV%(y literal 0 HcmV?d00001 diff --git a/02 Recursion/00 Recursion Intro/Additional Labs for Fast Finishers.doc b/02 Recursion/00 Recursion Intro/Additional Labs for Fast Finishers.doc new file mode 100644 index 0000000000000000000000000000000000000000..5c618506b4b9136afaf5dfa3dfdc23624c55fe7f GIT binary patch literal 49152 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¨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 A_5c6? literal 0 HcmV?d00001 diff --git a/02 Recursion/00 Recursion Intro/Oberle PowerPoint/11_Recur_dot_java 1.pptx b/02 Recursion/00 Recursion Intro/Oberle PowerPoint/11_Recur_dot_java 1.pptx new file mode 100644 index 0000000000000000000000000000000000000000..c3114a4c373a36725e69b1898dda669fc4cbd61b GIT binary patch literal 95162 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

cbY&z> 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 A7XSbN literal 0 HcmV?d00001 diff --git a/02 Recursion/01 Permutations/Permutations.class b/02 Recursion/01 Permutations/Permutations.class new file mode 100644 index 0000000000000000000000000000000000000000..333c2c2db405c755cc9901537f54a2fe59fc52f2 GIT binary patch literal 2606 zcmaJ?ZBr9h6n<{rHZ03qke~@dw7wu#Qk7OMAXTg-8j*t4s;y;7mSiE>O_PmE-)1`F zkEr&GqaXOPtLIDzj} z?83N$i8f5)w2Ao_w zLJUDELbxi8uSxN#w7ah0hJu>{;hbH!908FLh)kH4>6{h_4j;NI5Sq60hCo-=w2aw$ zdC90=(U(fp#IklyFJ0BErhNC6A*X281Uj>GMzvgbbjP%<+Bm(Gb<+}v58uqL=(qKB zNw*5=1*d9Sg>m;5y;|V8-WJ;efm)7R-od(KmeLD3-Li}-{R%qmSa9^*>LtD6V`wWG z%g(%6C^De<@b>#M@6jiybX*iBC4e#NEG(IMvH3vff zjl^DFS}}5Dze%;QR&$Ipb1BQ9&m-Qn(;2H$cUT98US>9T`q}#5hRj#cuG3-TAi1_0 z2YcPSd8|pz^e}6(s{2|Lf%K_Z#$6{PEm-Oq6%OhGDW_;ujg-!R%T9?SF3G7z5wI-! z%lfJ@ZCg3rxn?>=u4;~M$%5%)eY7en#YIwL=<2lWw3Jy(iP!mYdx70oGOU7ABvB$O zaG(|PRu=@sygWjm2U{Fz1xmqfnbxla_B9e`TDR?0!*5J4!t;90v8!tez9G1*ZLiiV zOnpZ7-*ic@)eMIHL-U=!53k5(bSqynYWuu{cWvybgFmIj@UX_hE6Yjg1 z)=Q-Y(=j+lzZKZOExuOR1P0%1hdmsdyEtMwBV~%<*ISp8Emrr$;u> zlYE54$R_x0N)kU;z20gaF?ahRRHEjxs{uDb(m>!*f{Bs$A<}h_WQ`JViaT-7J&sT# ze`yz#a6yF-80sV(PCp;ckF=K5j`?tgLX!jC>LctJA$2=kH0}2Sf%R8^z6sMH6#6(q zOrs<%O%f!UcX-QD4#wkKw5jN)R#L`(6Nr)J~@4fZnZeDm<;84wad;Qjr{B-3&0E+$*`a-G&nG-XUhaPTDr3F#*t{J!{reLI++CjI#Q{uW1;!2z-&i zb#_6Ht(<2QFSFJQWUEMs%j9;&4L}y!ARAl;AS4u@S6TgCh$@kGA(8JO_Aog)xit&q zOpw2DkgQ7LMAIx#i0Bk`0lbejK2`4C!PmIU@p6IhDLT7IUDlPCT{-W{E3W+HU#l(= AIRF3v literal 0 HcmV?d00001 diff --git a/02 Recursion/01 Permutations/Permutations.docx b/02 Recursion/01 Permutations/Permutations.docx new file mode 100644 index 0000000000000000000000000000000000000000..778e657e154ac62402e6a8a06d3d1811ce000f6c GIT binary patch literal 20835 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 literal 0 HcmV?d00001 diff --git a/02 Recursion/01 Permutations/Permutations.java b/02 Recursion/01 Permutations/Permutations.java new file mode 100644 index 0000000..032460f --- /dev/null +++ b/02 Recursion/01 Permutations/Permutations.java @@ -0,0 +1,108 @@ +// Name: B6-24 +// Date: 09/26/19 + +import java.util.*; +public class Permutations +{ + public static int count = 0; + + public static void main(String[] args) + { + Scanner sc = new Scanner(System.in); + System.out.print("\nHow many digits? "); + int n = sc.nextInt(); + leftRight("", n); + oddDigits("", n); + superprime(n); + if(count==0) + //Extension #1: + System.out.println("there are no " + n + "-digit superprimes"); + else + System.out.println("Count is "+count); + } + + /** + * Builds all the permutations of a string of length n containing Ls and Rs + * @param s A string + * @param n An postive int representing the length of the string + */ + public static void leftRight(String s, int n) + { + if (s.length() < n) { + leftRight(s + "L", n); + leftRight(s + "R", n); + } else if (s.length() == n) + System.out.println(s); + } + + /** + * Builds all the permutations of a string of length n containing odd digits + * @param s A string + * @param n A postive int representing the length of the string + */ + public static void oddDigits(String s, int n) + { + if (s.length() < n){ + for (int i = 1; i < 10; i += 2) + oddDigits(s + i, n); + } else if (s.length() == n) { + System.out.println(s); + } + } + + /** + * Builds all combinations of a n-digit number whose value is a superprime + * @param n A positive int representing the desired length of superprimes + */ + public static void superprime(int n) + { + recur(2, n); //try leading 2, 3, 5, 7, i.e. all the single-digit primes + recur(3, n); + recur(5, n); + recur(7, n); + } + + /** + * Recursive helper method for superprime + * @param k The possible superprime + * @param n A positive int representing the desired length of superprimes + */ + private static void recur(int k, int n) + { + if (isPrime(k)) { + if (n == 1) { + System.out.println(k); + //Extension #2: + count++; + } else { + for (int i = 1; i < 10; i+=2) + recur(k*10 + i, n - 1); + } + } + } + + /** + * Determines if the parameter is a prime number. + * @param n An int. + * @return true if prime, false otherwise. + */ + public static boolean isPrime(int n) { + + //Extension #3: + + if (n < 2) + return false; + + if (n < 4) + return true; + + if (n % 2 == 0 || n % 3 == 0) + return false; + + for (int i = 5; i * i <= n; i += 6) // since we already checked for 6, 8, 9, and 10 with 2 & 3 we can add by 6 and only check 5 and 7 + if (n % i == 0 || n % (i + 2) == 0) + return false; + + return true; + } +} \ No newline at end of file diff --git a/02 Recursion/02 Fibonacci/Fibonacci - Recursion v Iteration.docx b/02 Recursion/02 Fibonacci/Fibonacci - Recursion v Iteration.docx new file mode 100644 index 0000000000000000000000000000000000000000..6ab96313ebf1336b23f4493fbebb197ea5a591f3 GIT binary patch literal 438170 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 literal 0 HcmV?d00001 diff --git a/02 Recursion/02 Fibonacci/Fibonacci.class b/02 Recursion/02 Fibonacci/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..c3044a605c56b12bbe51d248a21265dbf91744fd GIT binary patch literal 1643 zcmaJ?O>-MX5Pc)I8a4VwTn{}^Kb?Yr!QY-C-+gfuwzSDAeMQl z7c?n9^6T6)NGvhl?QAe<`j~J5lde5n0M5uaY-BMgv1DTz?+Fym ze~-=5?pW_0za5xWf73JTyJJzxZDko#CW#drtGH&PjO#XD!8w7!r>QCJ_^qZ#ATiUl z@jh-SQBk5w)RE}}8*BK`#=1&%L1j4vBH$cmEZ1*&4Kn;6Q)PEM^fpO#dxr;^UT6Gv z@jBZQvN@i+$=0Q#9RD{9$Svj6VtX?A<6CM3ZqQbxMq@;-6Ykbl)Y@~$MI1?TP&^R~ zvsWh`FQ0sT^`v7XZ1?6+U?6|gk=N@{sTk)A$wW^_11A}SlxMgvaur1WdRr(^tT)#6&YrWxg$?pWno!Wk&nq%%^k8BV@j za}v%3rF16Cm*r20rQ%&^Lo!~NHZsPL9Fh;UX5k(_--o`CG4_#|(W#c``3q$20gRN{ zg_SY7=!>+h-i4j&r)_-H`(gmeb{9?;r@Kf!Ns&I1Lb>+>RkEi8wL6Bm|2R|}#3K%- z(NEn%0e$>B*;qo7Gk*$II2_p1_!236jWoU?wcnE5-{|uPiB+7t95L% z0b|Tt#ce!CO~)MW;(5FPL-B_fah7WV-{B?X`B|IbZV0i*bTcI;x#LgbWwz=Oz9Q*- za=j+t9<(UQxLLAhbZuH@WbOx~#}~4CX>{D3(eFss^;cHkV~Sp7BTNM%(upNW6b^Bu ziQx?QBfMW#aFM4DPYY2621lkyuU?$OttMp@uSQkroQ(5PRSI`X;Wm&UR!yULL~cy= zx(@)a6EMvf&S~F6H}`Tn7i%x4HTRLu=}NkXSd+x8{xl>JCE16=i5!mjL&TMam{c=6 JMc)`M{sRDIKFR<9 literal 0 HcmV?d00001 diff --git a/02 Recursion/02 Fibonacci/Fibonacci.java b/02 Recursion/02 Fibonacci/Fibonacci.java new file mode 100644 index 0000000..cf110b9 --- /dev/null +++ b/02 Recursion/02 Fibonacci/Fibonacci.java @@ -0,0 +1,56 @@ +// Name: B6-24 +// Date: 09/26/19 + +import java.util.*; +public class Fibonacci +{ + public static void main(String[] args) + { + long start, end, fib; //why long? + int[] fibNumber = {1, 5, 10, 20, 30, 40, 41, 42}; + System.out.println("\tFibonacci\tBy Iteration\tTime\tby Recursion\t Time"); + for(int n = fibNumber[0]; n <= fibNumber[fibNumber.length - 1]; n++) + { + start = System.nanoTime(); + fib = fibIterate(n); + end = System.nanoTime(); + System.out.print("\t\t" + n + "\t\t" + fib + "\t" + (end-start)/1000.); + start = System.nanoTime(); + fib = fibRecur(n); + end = System.nanoTime(); + System.out.println("\t" + fib + "\t\t" + (end-start)/1000.); + } + } + + /** + * Calculates the nth Fibonacci number by interation + * @param n A variable of type int representing which Fibonacci number + * to retrieve + * @returns A long data type representing the Fibonacci number + */ + public static long fibIterate(int n) + { + long n1, n2 = 0, n3 = 1; + for (int i = 1; i < n; i++) { + n1 = n2; + n2 = n3; + n3 = n1 + n2; + } + + return n3; + } + + /** + * Calculates the nth Fibonacci number by recursion + * @param n A variable of type int representing which Fibonacci number + * to retrieve + * @returns A long data type representing the Fibonacci number + */ + public static long fibRecur(int n) + { + if (n == 0) return 0; + if (n == 1) return 1; + + return fibRecur(n - 1) + fibRecur(n - 2); + } +} \ No newline at end of file diff --git a/02 Recursion/03 Hailstone/Hailstone.class b/02 Recursion/03 Hailstone/Hailstone.class new file mode 100644 index 0000000000000000000000000000000000000000..5c56e97d52385a83a332236e5088f694e0232e45 GIT binary patch literal 1671 zcmaJ>-BuG<7~LnCWQH&y5Dd};>qr%XKZ&SSA%NDu8jYgHVv!3S!Ynd4OtK~uS9{;5 z=vD9QO}z+K*XjfG8Tu?;-Df5tp@LZ}=bZU|_SyUUzL~%O{rDGv%h*U@67xg2gv%PP zB=9Y+YPcr%>nawceK7$QCAlmma2(4jRua%Lui=K=Z_4F64Y%ZeTSnZ`a96`U4d1J{ zuc9mvU$R}>UlEAr=hg(2+l?(tAXTwl>v4N`)AF91n+`4MN~2~vYo=$*=dMxl>vl_E zxN_gLotEEltr8)2P1_Zi$Zu43%(rIIG2QKA)%R?7yA)hudfQAIKg2B%Y1QZo6WhM+ z6stAUbuEv$v6gRozJMU>Sgp}^d5#DBC4r%Oj{%+ea(RwHf-I6%->kiPWHx(@^MNZ- zZM40bbJ$2wk02cT3>HVHbYJp<8?knBug2!L9j?aIOW8 z>k7)JVY?XH69q_IKi_X2H|mD9_t|f3F`WLXnPo{oa-R5Jf(cV@Cv=3ps(*CnI7pNb)tjO^cW8v zq?tSQ0pnLCLNDeRT^Z$IP@mxpnE(lB7{(|$=8z<_5zHWkJG4B&7;K~i1y@3rn8r8E z$zc_zafTWUM$KTBnrE1k=P62yfjOQO;`5E@D*cn52y5Pnd? nbxK&EghfgyQNj`>EaMt(@Vj(#V7@lG5_-gENwi3;2rm8y|3+P$ literal 0 HcmV?d00001 diff --git a/02 Recursion/03 Hailstone/Hailstone.java b/02 Recursion/03 Hailstone/Hailstone.java new file mode 100644 index 0000000..c85a156 --- /dev/null +++ b/02 Recursion/03 Hailstone/Hailstone.java @@ -0,0 +1,82 @@ +// Name: B6-24 +// Date: 09/30/19 + +import java.util.*; + +public class Hailstone +{ + public static void main(String[] args) + { + System.out.println("Hailstone Numbers!"); + System.out.print("Enter the start value: "); + Scanner sc = new Scanner(System.in); + int start = sc.nextInt(); + int count = hailstone(start, 1); + System.out.println(" With count variable, it takes " + count + " steps." ); + int count2 = hailstone(start); + System.out.println(" Without count variable, it takes " + count2 + " steps." ); + } + + /** + * Prints the hailstone sequence that starts with n. + * Pre-condition: n > 0, count = 1. + * This method is recursive. + * If n is even, then the next number is n / 2. + * If n is odd, then the next number is 3 * n + 1. + * @param n The beginning hailstone number. + * @param count The helper variable that counts the steps. + * @returns An int representing the number of steps from n to 1. + */ + public static int hailstone(int n, int count) + { + if (n == 1){ + System.out.print("1"); + return count; + } else if (n % 2 == 0) { + System.out.print(n + "-"); + return hailstone(n / 2, ++count); + } else { + System.out.print(n + "-"); + return hailstone(3 * n + 1, ++count); + } + } + + /** + * Prints the hailstone sequence that starts with n. + * This method does not use a variable to count the steps. + * Pre-condition: n > 0. + * This method is recursive. + * If n is even, then the next number is n / 2. + * If n is odd, then the next number is 3 * n + 1. + * @param n The beginning hailstone number. + * @returns An int representing the number of steps from n to 1. + */ + public static int hailstone(int n) + { + if (n == 1) { + System.out.print("1"); + return 1; + } else if (n % 2 == 0) { + System.out.print(n + "-"); + return 1 + hailstone(n / 2); + } else { + System.out.print(n + "-"); + return 1 + hailstone(3 * n + 1); + } + } +} + +/* +------------SAMPLE RUN---------------------- + +Hailstone Numbers! +Enter the start value: 12 +12-6-3-10-5-16-8-4-2-1 With count variable, it takes 10 steps. +12-6-3-10-5-16-8-4-2-1 Without count variable, it takes 10 steps. + +Hailstone Numbers! +Enter the start value: 100 +100-50-25-76-38-19-58-29-88-44-22-11-34-17-52-26-13-40-20-10-5-16-8-4-2-1 With count variable, it takes 26 steps. +100-50-25-76-38-19-58-29-88-44-22-11-34-17-52-26-13-40-20-10-5-16-8-4-2-1 Without count variable, it takes 26 steps. + +*/ diff --git a/02 Recursion/04 AreaFill/AreaFill.class b/02 Recursion/04 AreaFill/AreaFill.class new file mode 100644 index 0000000000000000000000000000000000000000..f7b3fe2090a83371130c596a369059e5ce93d2d7 GIT binary patch literal 3483 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 A%>V!Z literal 0 HcmV?d00001 diff --git a/02 Recursion/04 AreaFill/AreaFill.java b/02 Recursion/04 AreaFill/AreaFill.java new file mode 100644 index 0000000..f5a628c --- /dev/null +++ b/02 Recursion/04 AreaFill/AreaFill.java @@ -0,0 +1,150 @@ +// Name: B6-24 +// Date: 10/02/19 + +import java.util.*; +import java.io.*; + +public class AreaFill +{ + private static char[][] grid = null; + private static String filename = null; + + public static void main(String[] args) + { + Scanner sc = new Scanner(System.in); + while(true) // what does this do? + { + System.out.print("Fill the Area of (-1 to exit): "); + filename = sc.next(); + if(filename.equals("-1")) + { + sc.close(); + System.out.println("Good-bye"); + //System.exit(0); + return; + } + grid = read(filename); + String theGrid = display(grid); + System.out.println( theGrid ); + System.out.print( "1-Fill or 2-Fill-and-Count: "); + int choice = sc.nextInt(); + switch(choice) + { + case 1: + { + System.out.print("\nEnter ROW COL to fill from: "); + int row = sc.nextInt(); + int col = sc.nextInt(); + fill(grid, row, col, grid[row][col]); + System.out.println( display(grid) ); + break; + } + case 2: + { + System.out.print("\nEnter ROW COL to fill from: "); + int row = sc.nextInt(); + int col = sc.nextInt(); + int count = fillAndCount(grid, row, col, grid[row][col]); + System.out.println( display(grid) ); + System.out.println("count = " + count); + System.out.println(); + break; + } + default: + System.out.print("\nTry again! "); + } + } + } + + /** + * Reads the contents of the file into a matrix. + * Uses try-catch. + * @param filename The string representing the filename. + * @returns A 2D array of chars. + */ + public static char[][] read(String filename) + { + Scanner infile = null; + try + { + infile = new Scanner(new File(filename)); + } + catch (Exception e) + { + System.out.println("File not found"); + return null; + } + /* enter your code here */ + + int r = infile.nextInt(); + int c = infile.nextInt(); + char[][] g = new char[r][c]; + infile.nextLine(); + + for (int i = 0; i < r; i++) + g[i] = infile.nextLine().toCharArray(); + + return g; + } + + /** + * @param g A 2-D array of chars. + * @returns A string representing the 2D array. + */ + public static String display(char[][] g) + { + String outString = ""; + for (int i = 0; i < g.length; i++){ + for (int j = 0; j < g[i].length; j++){ + outString += g[i][j]; + } + + outString += '\n'; + } + + return outString; + } + + /** + * Fills part of the matrix with a different character. + * @param g A 2D char array. + * @param r An int representing the row of the cell to be filled. + * @param c An int representing the column of the cell to be filled. + * @param ch A char representing the replacement character. + */ + public static void fill(char[][] g, int r, int c, char ch) + { + if(r >= 0 && r < g.length && c >= 0 && c < g[0].length) { + if(g[r][c] == ch) { + g[r][c] = '*'; + fill(g, r + 1, c, ch); + fill(g, r - 1, c, ch); + fill(g, r, c + 1, ch); + fill(g, r, c - 1, ch); + } + } + + return; + } + + /** + * Fills part of the matrix with a different character. + * Counts as you go. Does not use a static variable. + * @param g A 2D char array. + * @param r An int representing the row of the cell to be filled. + * @param c An int representing the column of the cell to be filled. + * @param ch A char representing the replacement character. + * @return An int representing the number of characters that were replaced. + */ + public static int fillAndCount(char[][] g, int r, int c, char ch) + { + if(r >= 0 && r < g.length && c >= 0 && c < g[0].length) { + if(g[r][c] == ch) { + g[r][c] = '*'; + return 1 + fillAndCount(g, r + 1, c, ch) + fillAndCount(g, r - 1, c, ch) + fillAndCount(g, r, c + 1, ch) + fillAndCount(g, r, c - 1, ch); + } + } + + return 0; //never reached + } +} \ No newline at end of file diff --git a/02 Recursion/04 AreaFill/area1.txt b/02 Recursion/04 AreaFill/area1.txt new file mode 100644 index 0000000..c690628 --- /dev/null +++ b/02 Recursion/04 AreaFill/area1.txt @@ -0,0 +1,16 @@ +15 32 +xxxx............................ +...xx........................... +..xxxxxxxxxxxx.................. +..x.........xxxxxxx............. +..x...........0000xxxx.......... +..xxxxxxxxxxxx0..000............ +..xxxxxxxxx...0...00.....0000000 +..........xx.......0000000000000 +.....xxxxxxxxx........0......... +....xx.................00000.... +....xx.....................00... +.....xxxxxxxxxxxxxxxxxx....00... +......................xx...00... +.......................xxxx00000 +............................0000 \ No newline at end of file diff --git a/02 Recursion/04 AreaFill/area2.txt b/02 Recursion/04 AreaFill/area2.txt new file mode 100644 index 0000000..355315a --- /dev/null +++ b/02 Recursion/04 AreaFill/area2.txt @@ -0,0 +1,10 @@ +9 12 +..........00 +...0....0000 +...000000000 +0000.....000 +............ +..#########. +..#...#####. +......#####. +...00000.... \ No newline at end of file diff --git a/02 Recursion/04 AreaFill/area3.txt b/02 Recursion/04 AreaFill/area3.txt new file mode 100644 index 0000000..d1891c2 --- /dev/null +++ b/02 Recursion/04 AreaFill/area3.txt @@ -0,0 +1,6 @@ +4 3 ++++ +@+@ +@+@ +@@@ + diff --git a/02 Recursion/04 AreaFill/area4.txt b/02 Recursion/04 AreaFill/area4.txt new file mode 100644 index 0000000..f7fb038 --- /dev/null +++ b/02 Recursion/04 AreaFill/area4.txt @@ -0,0 +1,11 @@ +10 10 +mmmm....ff +...mm..... +..mmmmm.mm +..m.....ff +..x..xx... +..xxx..xx. +..xxx.xxx. +....x..... +.....ggg.g +....gg.... diff --git a/02 Recursion/05 ExpressionEvaluator/Evaluator.class b/02 Recursion/05 ExpressionEvaluator/Evaluator.class new file mode 100644 index 0000000000000000000000000000000000000000..a73688f266411c62a9fec72cdf12b03946eaa2a4 GIT binary patch literal 2152 zcmcJPZBrXn6vzLY2X+${N>W16XsuOC5@^%bJ}1xz3W6q}l7jVBmvDuJu)$^NbbQts z-)emtM_=kFFJ#n?N*$f?1Nc?^3|0Skcau#dFPx6P;Iil3d(ZiubN)BK|M|;r0M24I zjui4Lj>i$gi5U8EGS1~mX`a$>I*uWnk;Yl+KBwWl{C`11K|@i)XdGj>C|#H2a#=1{ zRE(>*svzdn*Mw!hB5Vbz(!{L|TWoHcb*s{F7Zh|AP0Mt~cpy_+HEtUDnqe*H=N#L# zmJ8W=1(EUkl2EX(WLjcoYkg7J6=ShRPqI|68nt=DHl^)5BhHGssi3J(Ro54vt8dv=F=@)m2LsS%na5;JItDSRV1KaR zY_;5aK*sO$}ruYaHs+)b`m&$LpiR**3%7}0WNaXH9 z$^DAZ_2Ih+|AfdLIzvcv?M0aDaUMK@KAgluv`7~9odEU8B(4jwvgs_{6=vb>14OJm2BHuDyDZBCG4^sL5$xQ5Jdq! zD3W881Y?}`Mbcfud0ggt)nz>7W%n7QJoy+NCtD9r;|bD+aD=h=?C&9?s2DoHJ*uVy zy&ll_bfAx}xb(dp=%cm0^kve|kYbkf&yxN*W__OYbEL13e&N39DQTbn55M;d&9?9J z=+cee%C7rm#TK@aA4zs|E}v5f?x12nqmNY$Hjak^_eyI?IW`b5pka|BSfZ{3OL~c~ zYn4)2V>#=Xf`x0a-Lg)x_=D*7M={C~c|!rq_QZ6J=$=nwi-JK7B7BcwIjDiZDC)3^ zemON}SL8$W3%}zRKF<0Q!PtD!^*73qqD$PkUfgMDu6<{TJ9||3D$!r#++OG0-e3`L zGWlD47jNSn-l6W^ZJFD6Q*~oa)tzZ6##P;rEr(^+3o+&WcLMS_a$Zb6=nA|OWLMB azM<@PD7$YdyYDEwAO1(#9i{j}IQBPZ?S19| literal 0 HcmV?d00001 diff --git a/02 Recursion/05 ExpressionEvaluator/Expression Evaluator.doc b/02 Recursion/05 ExpressionEvaluator/Expression Evaluator.doc new file mode 100644 index 0000000000000000000000000000000000000000..7207003092a05247bc06518e9c0be2462f601340 GIT binary patch literal 64512 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 K(D^R?@BIcN3vwv{ literal 0 HcmV?d00001 diff --git a/02 Recursion/05 ExpressionEvaluator/ExpressionEvaluator.java b/02 Recursion/05 ExpressionEvaluator/ExpressionEvaluator.java new file mode 100644 index 0000000..5b97643 --- /dev/null +++ b/02 Recursion/05 ExpressionEvaluator/ExpressionEvaluator.java @@ -0,0 +1,244 @@ +// Name: B6-24 +// Date: 10/7/19 +import java.util.*; + +/** + * This program calculates the value of an expression + * consisting of numbers, arithmetic operators, and parentheses. + */ +public class ExpressionEvaluator +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + System.out.print("Enter an expression: "); + // 3+4*5 23 + // (3+4)*5 35 + // (4+5)-5*3 -6 + // (3+4)*(5+6) 77 + // (3*(4+5)-2)/5 5 + // 2*3*4-9/3 21 + /* extension, left-to-right processing */ + // 6*8/6 6 + // 2-3+5 -6 + // 3*4/6 0 + // 3+4-5+2*2 6 + + String input = in.nextLine().trim(); + Evaluator e = new Evaluator(input); + int value = e.getExpressionValue(); + //int value = e.getExpressionValueEXT(); //extension + System.out.println(input + " = " + value); + } +} + +/** + * A class that can compute the value of an arithmetic expression. + */ +class Evaluator +{ + private ExpressionTokenizer tokenizer; + + /** + * Constructs an evaluator. + * @param anExpression a string containing the expression + * to be evaluated + */ + public Evaluator(String anExpression) + { + tokenizer = new ExpressionTokenizer(anExpression); + } + + /** + * Evaluates the expression. + * @return the value of the expression. + */ + public int getExpressionValue() + { + int value = getTermValue(); + String next = tokenizer.peekToken(); + if("+".equals(next)) { + tokenizer.nextToken(); + value += getExpressionValue(); + } else if("-".equals(next)) { + tokenizer.nextToken(); + value -= getExpressionValue(); + } + + return value; + } + + /** + * Evaluates the next term found in the expression. + * @return the value of the term + */ + public int getTermValue() + { + int value = getFactorValue(); + String next = tokenizer.peekToken(); + if("*".equals(next)) { + tokenizer.nextToken(); + value *= getTermValue(); + } else if("/".equals(next)) { + tokenizer.nextToken(); + value /= getTermValue(); + } + + return value; + } + + /** + * Evaluates the next factor found in the expression. + * @return the value of the factor + */ + public int getFactorValue() + { + int value; + String next = tokenizer.peekToken(); + if ("(".equals(next)) + { + tokenizer.nextToken(); // Discard "(" + value = getExpressionValue(); + tokenizer.nextToken(); // Discard ")" + } + else + { + if(!next.equals("-")) { + value = Integer.parseInt(tokenizer.nextToken()); + } else { + tokenizer.nextToken(); + value = -1 * Integer.parseInt(tokenizer.nextToken()); + } + } + + return value; + } + + /** + * Extension + * + */ + public int getExpressionValueEXT() + { + int value = getTermValueEXT(); + String next = tokenizer.peekToken(); + if("+".equals(next)) { + tokenizer.nextToken(); + return value += getTermValueEXT(); + } else if("-".equals(next)) { + tokenizer.nextToken(); + return value -= getTermValueEXT(); + } + + return value; + } + + /** + * Extension + * + */ + public int getTermValueEXT() + { + int value = getFactorValueEXT(); + String next = tokenizer.peekToken(); + if("*".equals(next)) { + tokenizer.nextToken(); + return value *= getFactorValueEXT(); + } else if("/".equals(next)) { + tokenizer.nextToken(); + return value /= getFactorValueEXT(); + } + return value; + + } + + /** + * Extension + * + */ + public int getFactorValueEXT() + { + int value; + String next = tokenizer.peekToken(); + if ("(".equals(next)) + { + tokenizer.nextToken(); // Discard "(" + value = getExpressionValueEXT(); + tokenizer.nextToken(); // Discard ")" + } + else + { + if(!next.equals("-")) { + value = Integer.parseInt(tokenizer.nextToken()); + } else { + tokenizer.nextToken(); + value = -1 * Integer.parseInt(tokenizer.nextToken()); + } + } + + return value; + + } +} + +/** + * This class breaks up a string describing an expression + * into tokens: numbers, parentheses, and operators. + */ +class ExpressionTokenizer +{ + private String input; + private int start; // The start of the current token + private int end; // The position after the end of the current token + + /** + * Constructs a tokenizer. + * @param anInput the string to tokenize + */ + public ExpressionTokenizer(String anInput) + { + input = anInput; + start = 0; + end = 0; + nextToken(); // Find the first token + } + + /** + * Peeks at the next token without consuming it. + * @return the next token or null if there are no more tokens + */ + public String peekToken() + { + if (start >= input.length()) { + return null; } + else { + return input.substring(start, end); } + } + + /** + * Gets the next token and moves the tokenizer to the following token. + * @return the next token or null if there are no more tokens + */ + public String nextToken() + { + String r = peekToken(); + start = end; + if (start >= input.length()) { + return r; + } + if (Character.isDigit(input.charAt(start))) + { + end = start + 1; + while (end < input.length() + && Character.isDigit(input.charAt(end))) + { + end++; + } + } + else + { + end = start + 1; + } + return r; + } +} \ No newline at end of file diff --git a/02 Recursion/05 ExpressionEvaluator/ExpressionTokenizer.class b/02 Recursion/05 ExpressionEvaluator/ExpressionTokenizer.class new file mode 100644 index 0000000000000000000000000000000000000000..589f0d7bea85419312297d0f4ed43d0d1a0524e7 GIT binary patch literal 1066 zcmZuvOHUI~6#i~I?Kow42!c>W@ZCPO1!+s~BEw)}>w)APgO;h61Ve95+G3`8yC9rdUZ_!|KUXjE+8lSJ@`Iq} zRisPJa??u5+z0;Ju3E$gEoT_st?>#eT<&>#}qau&7L6s>^OV ziz!tY)@~{Cbb|hB!23w4or?S|j9b^q^9vvRUhkYrbp}tZ|Fn(q_R x_)O303uf>Y^Z14mzQe|kO%gT&Vi8oa$Cpr1?1J_aqdLaoDT7FkQz(SJe*m4%){FoE literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/GoldCrown.gif b/02 Recursion/06 NQueens/GoldCrown.gif new file mode 100644 index 0000000000000000000000000000000000000000..f312710b802cd375681cf0c6ac2360f9c256a611 GIT binary patch literal 64630 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

f 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 TtHMR=;i5q}fg=nM!qI;LwxG-4 literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/NQueens.java b/02 Recursion/06 NQueens/NQueens.java new file mode 100644 index 0000000..fdadb0c --- /dev/null +++ b/02 Recursion/06 NQueens/NQueens.java @@ -0,0 +1,154 @@ +//Name: B6-24 Date: 10/5/19 +// +// +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +import edu.kzoo.grid.BoundedGrid; +import edu.kzoo.grid.Grid; +import edu.kzoo.grid.Location; +import edu.kzoo.grid.display.GridDisplay; + +/** + * Environment-Based Applications:
+ * + * The NQueens class implements the N Queens problem. + * + * @author Your Name (based on a template provided by Alyce Brady) + * @version 1 September 2002 + **/ + +public class NQueens +{ + // Instance Variables: Encapsulated data for EACH NQueens problem + private Grid board; + private GridDisplay display; + + // constructor + + /** Constructs an object that solves the N Queens Problem. + * @param n the number of queens to be placed on an + * n x n board + * @param d an object that knows how to display an + * n x n board and + * the queens on it + **/ + public NQueens(int n, GridDisplay d) + { + board = new BoundedGrid(n, n); + display = d; + display.setGrid(board); + display.showGrid(); + } + + // methods + + /** Returns the number of queens to be placed on the board. **/ + public int numQueens() + { + return board.numRows(); // replace this with something more useful + } + + /** Solves (or attempts to solve) the N Queens Problem. **/ + public boolean solve() + { + if(placeQueen(0)) { + display.showGrid(); + return true; + } else { + System.out.println("NO SOLUTION"); + display.showGrid(); + return false; + } + } + + /** Attempts to place the qth queen on the board. + * (Precondition: 0 <= q < numQueens()) + * @param q index of next queen to place + **/ + private boolean placeQueen(int q) + { + // Queen q is placed in row q. The only question is + // which column she will be in. Try them in turn. + // Whenever we find a column that could work, put her + // there and see if we can place the rest of the queens. + + if(q >= numQueens()) + return true; + for(int i = 0; i < numQueens(); i++) { + if (locationIsOK(new Location(q, i))) { + addQueen(new Location(q, i)); + display.showGrid(); + if(placeQueen(q + 1)) + return true; + else + removeQueen(new Location(q, i)); + } + } + + return false; + + } + + /** Determines whether a queen can be placed at the specified + * location. + * @param loc the location to test + **/ + private boolean locationIsOK(Location loc) + { + //System.out.print("I ran! "); + // Verify that another queen can't attack this location. + // (Only queens in previous rows have been placed.) + int currentRow = loc.row(); + int currentCol = loc.col(); + int i, j; + + + for (i = 0; i < numQueens(); i++) { + if (board.objectAt(new Location(i, currentCol)) != null) { + return false; + } + } + + //only have to check for above left and right because it moves down + for (i = currentRow, j = currentCol; i >= 0 && j < numQueens(); i--, j++) { + if (board.objectAt(new Location(i, j)) != null) { + return false; + } + } + + for (i = currentRow, j = currentCol; i >= 0 && j >= 0; i--, j--) { + if (board.objectAt(new Location(i, j)) != null) { + return false; + } + } + + return true; + } + + /** Adds a queen to the specified location. + * @param loc the location where the queen should be placed + **/ + private void addQueen(Location loc) + { + new Queen(board, loc); // queens add themselves to the board + } + + /** Removes a queen from the specified location. + * @param loc the location where the queen should be removed + **/ + private void removeQueen(Location loc) + { + board.remove(loc); + // replace this with something useful. + } + +} diff --git a/02 Recursion/06 NQueens/NQueensLab.class b/02 Recursion/06 NQueens/NQueensLab.class new file mode 100644 index 0000000000000000000000000000000000000000..de9d3814803e4c6820aaa13270f88eea40a1cbca GIT binary patch literal 2229 zcmbVO>sAw26#kAROc(|Y5${&Vsx>GOwU$~?D1<;pLxKjO(JGx}4#~h|CeDS3z1T
<+Nkde`gl!QeY5v0T>D@0Nyd2?ee~cG)+Lk~2IjQ29;Zne2mrbKA@4MRF3V>ZZ+bJpQB^fTi2zMBaBzyFA(O zp}S?WI(ooo2H7)T@}{zI+Q^_AfZ&A&gJhUq&C<6S)C@O*#O6!KNt9jFNR$IJu|SKN zT5aCdtDHiLRJc`J#kE(*~h#FcI&Dn&&m2 z3;L)xuV25#aBQ6dn`rqEUdJka)e?ns6?me0(X84ek-FqML@_GLHH;|mLCK6_M8Y!# zTc``07YyNs@<$oANYNzxtmTw8=bAK;u&v-FepK)iex@YfZw&$Zi-K1eAqI9%m!j$r zFjw5*C7)riBhqZ2m$^%1+!76&TNkX?hPznX(jYRO5N7Xam#g`vV=w8ppp#c|>Y7~( z{5ey%9GVTc<6RIm)^qY3c3XBF%M8F3$glN;J z2bgyS(E|K`5`iCUg^{muZsaY~5QRKZ5);r3O8%;88%~`DqR(xg#zp*-;dBO^rfC9s zz~g>{9*wa_E#ETjCf zoFrt-r~yb52x5n#kv;V6A(Xkchw$Bf^cHp@Wk>fBp+(;gI>h(3(&AT}C1`UXRT>^1#Hhjwu64UX^O#6C_I&W`Tl)I>OTdLL&9>g*mqI~Cr+ zxz$dv;~1bI#_6v98c|Hr)q96(b(bVFw3@}YNa6ufSj9Yw^e=#oMH(;JMsicl1jzC> zVf14I-(Z5$i-HrNbvPOwnJ6P>vGn44p=V@Y}V#MSJmcav$dlJ%jjd j5dZ8#eT$(txbPOoMZ~O8UYT$~r!h!p!YDdX_PKun2?sP? literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/NQueensLab.java b/02 Recursion/06 NQueens/NQueensLab.java new file mode 100644 index 0000000..bbbfdfc --- /dev/null +++ b/02 Recursion/06 NQueens/NQueensLab.java @@ -0,0 +1,80 @@ +// Class: NQueensLab +// +// Author: Alyce Brady +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +import java.awt.Color; + +import javax.swing.JMenu; +import javax.swing.JOptionPane; + +import edu.kzoo.grid.display.ColorBlockDisplay; +import edu.kzoo.grid.display.DisplayMap; +import edu.kzoo.grid.gui.GridAppFrame; +import edu.kzoo.grid.gui.nuggets.BasicHelpMenu; +import edu.kzoo.grid.gui.nuggets.MinimalFileMenu; + + +/** + * Environment-Based Applications:
+ * + * The NQueensLab class implements the N Queens problem. + * + * @author Alyce Brady + * @version 1 September 2002 + **/ + +public class NQueensLab +{ + // Specify dimensions of grid display and individual cell size. + private static final int DISPLAY_WIDTH = 400; + private static final int DISPLAY_HEIGHT = 400; + private static final int MIN_CELL_SIZE = 20; + + // Specify the grid's background color and highlight color. + private static final Color BACKGROUND_COLOR = new Color(0, 155, 255); + private static final Color HIGHLIGHT_COLOR = Color.red; + + /** + * Starts the N Queens program. + * The String arguments (args) are not used in this application. + **/ + public static void main(String[] args) + { + + String sizeString = JOptionPane.showInputDialog("How large would you like the board to be?", 8); + int size = Integer.parseInt(sizeString); + + // Construct the object for solving the N Queens problem and + // a window to display it in. + GridAppFrame display = new GridAppFrame(); + display.includeMenu(new MinimalFileMenu()); + JMenu helpMenu = new BasicHelpMenu("NQueens", + "Your Name Here", + "with assistance from (whom? e.g., Alyce Brady)", + "1 September 2004", "file:NQueensHelp.html"); + display.includeMenu(helpMenu); + display.includeSpeedSlider(); + display.constructWindowContents("N Queens Problem", BACKGROUND_COLOR, + DISPLAY_WIDTH, DISPLAY_HEIGHT, MIN_CELL_SIZE); + Queen.setQueenColor(HIGHLIGHT_COLOR); + NQueens queens = new NQueens(size, display); + + // Specify how to display objects in the grid. + DisplayMap.associate("Queen", new ColorBlockDisplay()); + // OR, DisplayMap.associate("Queen", new ScaledImageDisplay("GoldCrown.gif")); + + // Solve the N Queens Problem. + queens.solve(); + } + +} diff --git a/02 Recursion/06 NQueens/NQueensLab.shtml b/02 Recursion/06 NQueens/NQueensLab.shtml new file mode 100644 index 0000000..f0c777e --- /dev/null +++ b/02 Recursion/06 NQueens/NQueensLab.shtml @@ -0,0 +1,132 @@ +Recursion: N Queens Lab + + + + + +
+

Recursion Lab: N Queens Problem

+
+ +
+ +
+ +

In this lab you will implement the N Queens Problem, using the BoundedGrid + class. + In this lab you will implement an algorithm that places N queens on an N x N + board (like a chess board) in such a way that no queen can attack another queen.

+ + + +
+

Exercise Set

+ +
    +
  1. Download the zip file that contains the starting code files for + the N Queens Lab (NQueens.zip) + and unzip it. When you unzip the file you will see the +following files and folders. +
      +
    • The file NQueensLab.shtml contains this +write-up. +
    • Two image files, GoldCrown.gif and +SilverCrown.gif (images of crowns). +
    • The grid.jar Java archive +(jar) file + contains a library of classes that can be used to +model a two-dimensional grid as described above. +
        +
      • BoundedGrid (class that represents +the two-dimensional grid)
      • +
      • Location (class that represents the +row and column positions of a location in the +grid)
      • +
      • ColorBlock (class whose objects +represent blocks of color put in a grid)
      • +
      + The documentation for these files can be found by +downloading the +GridPkgClassDocs.zip file. +
    • +

      +
    • The JavaSourceFiles folder contains the +source files for the NQueens Lab. +
        +
      • NQueensLab (contains the main method)
      • +
      • NQueens (the class that implements the solution + to the N Queens Problem)
      • +
      • Queen (represents a queen on the board)
      • +
      +
    +
    + Note: All of the + classes in the JavaSourceFiles folder and the +grid.jar Java archive file are covered by the GNU General Public License. + +

    +
  2. Compile and run the program. You should see an 8 x 8 "chess + board" with no queens. +

    +
  3. +
  4. Complete the numQueens and removeQueen + methods, without adding any additional instance variables.  To + test the removeQueen method, modify the placeQueen + method to add a queen to any arbitrary column (your choice) of the + correct row for that queen, display the environment, and then remove + the queen and redisplay the environment.  Modify the solve + method to place one queen.  Run the program.  You should + see one queen (or color block) appear and then disappear from the + environment. +

    +
  5. +
  6. Modify the placeQueen method to recursively place all + the queens in arbitrary columns (or the same arbitrary column).  + Think about where you should place the recursive call if you want + to see the queens appear in each row, one-by-one, and then disappear + in reverse order.  Make sure you remember to include a base case.  + Do you need to modify the solve method to place all the + queens?  If so, do it. +

    +
  7. +
  8. Fully implement the placeQueen method so that it checks + column by column to find an OK location to place this queen, until + the queen has been successfully placed in a column and all the queens + after her have been successfully placed also.  Since the locationIsOK + method always returns true, the queens should fill in + the first column. +

    +
  9. +
  10. Modify the locationIsOK method to return false + if any queens have already be placed in the same column as the location + parameter.  When you have this working you should see the queens + fill in the diagonal from location (0, 0) to location (n-1, n-1). +

    +
  11. +
  12. Modify the locationIsOK method again to also return + false if any queens have already been placed on the board + in locations that are on the diagonal from the location parameter. +
  13. +
+ +
+
+
+ + + diff --git a/02 Recursion/06 NQueens/NQueens_Lab.doc b/02 Recursion/06 NQueens/NQueens_Lab.doc new file mode 100644 index 0000000000000000000000000000000000000000..eb7e616ad1dc174b7a8dee6ccfed6e5e7a0b70ea GIT binary patch literal 51200 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 literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/Queen.class b/02 Recursion/06 NQueens/Queen.class new file mode 100644 index 0000000000000000000000000000000000000000..defddc8f622584daca56b73b0c693b96407a28d7 GIT binary patch literal 708 zcmaix%}T>S6ot<;ZIi}mwXOgEx~Wx~MVBoK7IYH?QQW7=pkreOW2)d=Sr>u}AHata z?@WVWT)3IJbI#@5Z)QHf-ai0zuvh14tzZr7CN@lLGT8Sc&f~s}WWq4(-TIHd z>p!KgR=N!3o`^+y$lx|T9**4Mvy|?2B0~3+mTpe-WZ4Wyrh42|3jJ(t0VWWcbLGk*XWrXP5! zv$D(8oB7)*NF$IDgVhV7?4Cwb$@YaDB>_JXir3aLZS^(|$}k;R*fO#0ULL)lA|U%>J=b9|I% literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/Queen.java b/02 Recursion/06 NQueens/Queen.java new file mode 100644 index 0000000..1c40590 --- /dev/null +++ b/02 Recursion/06 NQueens/Queen.java @@ -0,0 +1,48 @@ +// Class: Queen +// +// Author: Alyce Brady +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +import java.awt.Color; + +import edu.kzoo.grid.ColorBlock; +import edu.kzoo.grid.Grid; +import edu.kzoo.grid.Location; + +/** + * Environment-Based Applications:
+ * + * A Queen object represents a queen in the N Queens Problem. + * + * @author Alyce Brady + * @version 1 November 2002 + **/ +public class Queen extends ColorBlock +{ + private static Color queenColor = Color.red; + + /** Constructs a queen at the specified location on an N x N + * "chessboard." + * @param board the board on which to place this queen + * @param loc the location of this queen + **/ + public Queen(Grid board, Location loc) + { + super(queenColor, board, loc); + } + + /** Defines the color to make all queens. **/ + public static void setQueenColor(Color col) + { + queenColor = col; + } +} diff --git a/02 Recursion/06 NQueens/README.txt b/02 Recursion/06 NQueens/README.txt new file mode 100644 index 0000000..3811d05 --- /dev/null +++ b/02 Recursion/06 NQueens/README.txt @@ -0,0 +1,7 @@ +This archive has been reorganized by Daniel Johnson (johnmon2@gmail.com). The reorganization was done to enable the files to compile without worrying about making the given libraries work. + +List of changes: +1. The Following files were moved out of the JavaSourceFiles folder into the NQueens folder: NQueensLab.java, NQueens.java, Queen.java. +2. The empty JavaSourceFiles folder was deleted. +3. The grid.jar file was extracted into the NQueens folder (appears as the edu folder). +4. This README file was created. diff --git a/02 Recursion/06 NQueens/SilverCrown.gif b/02 Recursion/06 NQueens/SilverCrown.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba1125b1c24aed5f7e019dec7ffba8faa727cf95 GIT binary patch literal 84466 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 z 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�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 literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$ArrayListGridRep.class b/02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$ArrayListGridRep.class new file mode 100644 index 0000000000000000000000000000000000000000..4fd57c6b85a24c9c447311241de85382e5281b25 GIT binary patch literal 2109 zcma)7TUQ%p6y0YMn2-!YxI>Z_D6~m{q^)@6QYpO{O`(>G%euOBNJf};m}o9tw$EKY z_z!%uPkre_yOyO(UAlbsH~1I)3)cP341t7-zA${3v-dvxob%<6zkmJ>AaZr1IJtD{2@t$3k|NibOSARBetIS{ZQ77^dr1lDO-Y2IQeaEf|a&7uroIg?r zrlyznz0mENm$@L(o~0sGmM>&(2`2yBG94!kq;MjJaZJzz`Y#x1lhy=f72U?J-vdm6 zmKEq<&3<4RID^y5n>6p3j?=u8N@qT6gHxU2pEIkGqZ<7)9kXQEwp6#I3mLy*4)x%I zfgJLR@~l9pBU<0FnzV^yNyQdKDqcUX5P$yPT|7>@Zo6gcoAob`EknV;+ju9+4tZD5 z;YBblvs@OW+G!6NqZ)HCeKhIJEdxuqpwfPiILtvXcAUu0sUk;a81c7VvUv9s5Gi2>x%8oKucri z)Km$Kg6mqhmqe1Phv25+RfF+ zeE2ke2eU8GoBaiSpT0ozHT8J-qh@_d?u#6K@5Y zN<0aXWi&gphlQo2_5*(so+>d(U(A67zYb^7Dd!NA^OP~~QIGooP3uMj>pIboMG|VH zTEcQbc#&&Wk*MMz=gKDsl~%(Dxr8pc>>>LVjy92_xQJEa2q$14uRwN%7gu;HiT9bu z9zHk%yN+JDeh4<+gpCKVVf7#cGQT6Js#Pwu^cW`(`LQ-f3ev29kB;P%hnghSA-mzx z%RjY)j_~Vsn`VBFxO{=6lyE|B^Xc62H2C$(H8tb{(=_&rZ(5wSQ|YSou2YGIk8nd7 MM}-=0a(cS{0Z>A@9RL6T literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$Bounded.class b/02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$Bounded.class new file mode 100644 index 0000000000000000000000000000000000000000..88631f6228f186cdb4209b1ffcedfe30a82b27f8 GIT binary patch literal 1024 zcmaJZ8BF7ZV#2oA?9#QN}y7L|sCBxgRt4oO|w_`T6Vn52R2>ouR^=sB!w*_Zx#iIE@EE zV4tj4c^R<5mtCEM#e!W)6BBZ8K~L zukS_~C6^SUb7I`bn`g!OaPZg$cH-;swf9 z=>nC%{kDk_I48Alu}ppy@2JB$J|j^vFqI;y+Jsb;qSFj+ zla-S;$V;^u>l?~nDA1@4rXze()Va7|N=@6G3$Dz9KhFVc*i$X4sF62_Si>FcBl{by CqsxN; literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$Unbounded.class b/02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid$Unbounded.class new file mode 100644 index 0000000000000000000000000000000000000000..4d3b3262fc4fdad6953ba46399d8d169f896b946 GIT binary patch literal 898 zcma)4&2G~`7@T!X+?YUGx0FKoE3}YSgbc6BIdYwfNL>NtlP9}a2^ zjlNW3Gd&mzv(1MQQG&i6@o2z}w77WbCKDMm-0PR8{Uun3VdG!Kl59)7^3Y&tmlfr! zS~TF13}tfIoruxCFdpXYMXEjm%u}@1scf0SDNQH8{3Rc=Sfr6>YI-UWM)8P(84(MW z@I-3WDT-V2;o=Izl2oH84aHN*$C}uiLXIaxZKx%-%iyW>U`xLtME&=2+|?0b|AkJ? zNIa8S*`+ET?D5x}q25zUm~O=5SdgGuE~cdLaEGCG@<(8qzN!oRxL~#&T0KG!={=*p zx?Y*We@`a|=V`Tn0q}{KpHZh%J!jzpE)ud1Glj!8oh^4^{Rp!=M+kPNSeW8+bBe3K z{eo=zF&g+v6(3_B-!k9DTwC~(3!1n_&J5RaqnNOfVM^w_qd9p#n;-c8M>gjq+s*$_ X{y0PF;8y0pjN7#PG{M0NR#E!}Ze+rg literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid.class b/02 Recursion/06 NQueens/edu/kzoo/grid/ArrayListGrid.class new file mode 100644 index 0000000000000000000000000000000000000000..d31717fb9b0b8d5f1a1405cac24c017f4a1963e7 GIT binary patch literal 518 zcmaKpO-sW-5Qg7r+Q!6cYyGZx5G$ytIe1h=TTq0c;79M9W~p1_MmC9{|H_l#!5`p{ z5~sBa^^iTxGw(9*FgyGC_5J}1yJ!$rWSDvPFLCVkj0(LIW5lzslJty~4I5JXOO+V>9jz#v@eDwU(wGi6oKSa6PAAvlVALl>E9G zf;|$1jXcY(4t`B@1m{l@cJgdvlU~V38;iWq|F>8}fwwj|#2GJ + * + * The ArrayListGrid class encapsulates two public inner + * classes that extend the Grid class to + * model a two-dimensional grid by keeping track of their contents + * in ArrayList objects. The first public inner class, + * ArrayListGrid.Bounded, represents a bounded grid + * using an ArrayList, while the second public inner class, + * ArrayListGrid.Unbounded, represents an unbounded grid + * using an ArrayList. + * + *

+ * Methods of both ArrayListGrid classes have the + * following time and space characteristics: + * + * + * + * + * + * + * + *
numObjectsO(1)
allObjectsO(n)
isEmpty, objectAtO(n)
addO(1) [amortized]
removeO(n)
spaceO(n)
+ * where n is the number of objects in the grid. + * + *

+ * The ArrayListGrid classes are based on the + * College Board's UnboundedEnv class, as allowed + * by the GNU General Public License. + * + * @author Alyce Brady + * @version 20 March 2004 + * @see Direction + * @see Location + * @see GridObject + */ +public class ArrayListGrid +{ + // ArrayListGrid is a scoping mechanism, not meant to be instantiated. + private ArrayListGrid() + { + } + + /** An ArrayListGrid.Bounded object is a rectangular, + * bounded two-dimensional container data structure implemented as + * an ArrayList of the objects it contains. It can contain + * any kind of object that can be modeled using an extension of the + * GridObject class. For example, a bounded grid could + * be used to model a board for a tic-tac-toe or chess game, an + * environment of fish for a marine biology simulation, etc. + * + *

+ * ArrayListGrid.Bounded methods have the + * following time and space characteristics: + * + * + * + * + * + * + * + *
numObjectsO(1)
allObjectsO(n)
isEmpty, objectAtO(n)
addO(1) [amortized]
removeO(n)
spaceO(n)
+ * where n is the number of objects in the grid. + **/ + public static class Bounded extends Grid + { + // instance variables: encapsulated data for each Bounded grid object + private int numRows; + private int numCols; + + // constructors + + /** Constructs an empty ArrayListGrid.Bounded object with the given + * dimensions. + * A cell's neighbors include only the cells to its north, south, + * east, and west, not the cells on the diagonals. + * (Precondition: rows > 0 and cols > 0.) + * @param rows number of rows in grid + * @param cols number of columns in grid + * @throws IllegalArgumentException if the precondition is not met + **/ + public Bounded(int rows, int cols) + { + // Construct and initialize inherited attributes. + this(false, rows, cols); + } + + /** Constructs an empty ArrayListGrid.Bounded object with the given + * dimensions. + * Each cell in this grid will have at most four or eight + * adjacent neighbors, depending on the value of the + * includeDiagonalNeighbors parameter. Cells along + * the grid boundaries will have fewer than the maximum four or + * eight neighbors. If includeDiagonalNeighbors is + * true, a cell's adjacent neighbors include the + * cells to its north, south, east, and west and the cells on + * the diagonals, to the northeast, southeast, northwest, and + * southwest. If includeDiagonalNeighbors is + * false, a cell's adjacent neighbors include only + * the four cells to its north, south, east, and west. + * (Precondition: rows > 0 and cols > 0.) + * @param includeDiagonalNeighbors whether to include the four + * diagonal locations as neighbors + * @param rows number of rows in grid + * @param cols number of columns in grid + * @throws IllegalArgumentException if the precondition is not met + **/ + public Bounded(boolean includeDiagonalNeighbors, + int rows, int cols) + { + // Construct and initialize inherited attributes. + super(new ArrayListGridRep( + new Grid.BoundedGridValidityChecker(rows, cols)), + includeDiagonalNeighbors); + numRows = rows; + numCols = cols; + } + + // accessor methods dealing with grid dimensions + + /** Returns number of rows in this grid. + * @return the number of rows in this grid + **/ + public int numRows() + { + return this.numRows; + } + + /** Returns number of columns in this grid. + * @return the number of columns in this grid + **/ + public int numCols() + { + return this.numCols; + } + + } + + /** An ArrayListGrid.Unounded object is an unbounded + * two-dimensional container data structure implemented as + * an ArrayList of the objects it contains. It can contain + * any kind of object that can be modeled using an extension of the + * GridObject class. For example, a bounded grid could + * be used to model a board for a tic-tac-toe or chess game, an + * environment of fish for a marine biology simulation, etc. + * + *

+ * ArrayListGrid.Unbounded methods have the + * following time and space characteristics: + * + * + * + * + * + * + * + *
numObjectsO(1)
allObjectsO(n)
isEmpty, objectAtO(n)
addO(1) [amortized]
removeO(n)
spaceO(n)
+ * where n is the number of objects in the grid. + **/ + public static class Unbounded extends Grid + { + // constructors + + /** Constructs an empty ArrayListGrid.Unbounded object. + * A cell's neighbors include only the cells to its north, south, + * east, and west, not the cells on the diagonals. + * (Precondition: rows > 0 and cols > 0.) + **/ + public Unbounded() + { + // Construct and initialize inherited attributes. + this(false); + } + + /** Constructs an empty ArrayListGrid.Unbounded object. + * Each cell in this grid will have at most four or eight + * adjacent neighbors, depending on the value of the + * includeDiagonalNeighbors parameter. If + * includeDiagonalNeighbors is true, + * a cell's adjacent neighbors include the cells to its north, + * south, east, and west and the cells on the diagonals, to + * the northeast, southeast, northwest, and southwest. If + * includeDiagonalNeighbors is false, + * a cell's adjacent neighbors include only the four cells to + * its north, south, east, and west. + * (Precondition: rows > 0 and cols > 0.) + * @param includeDiagonalNeighbors whether to include the four + * diagonal locations as neighbors + **/ + public Unbounded(boolean includeDiagonalNeighbors) + { + // Construct and initialize inherited attributes. + super(new ArrayListGridRep(new Grid.UnboundedGridValidityChecker()), + includeDiagonalNeighbors); + } + + // accessor methods dealing with grid dimensions + + /** Returns number of rows in this grid. + * @return the number of rows, or UNBOUNDED if the grid is unbounded + **/ + public int numRows() + { + return Grid.UNBOUNDED; + } + + /** Returns number of columns in this grid. + * @return the number of columns, or UNBOUNDED if the grid is unbounded + **/ + public int numCols() + { + return Grid.UNBOUNDED; + } + } + + /** Internal representation for an ArrayList-based + * implementation of a Grid class. + **/ + public static class ArrayListGridRep + implements Grid.InternalRepresentation + { + // instance variables: encapsulated data for each ArrayListGridRep object + private ArrayList objectList; // list of objects in a grid + private Grid.ValidityChecker locationValidityChecker; + + // constructors + + /** Constructs an empty ArrayListGridRep representation of a grid. + * @param checker an object that knows how to check the validity + * of a location in a grid + **/ + protected ArrayListGridRep(Grid.ValidityChecker checker) + { + objectList = new ArrayList(); + locationValidityChecker = checker; + } + + + // accessor methods + + /** Verifies whether a location is valid in this grid. + * @param loc location to check + * @return true if loc is valid; + * false otherwise + **/ + public boolean isValid(Location loc) + { + return locationValidityChecker.isValid(loc); + } + + /** Returns the number of objects in this grid. + * @return the number of objects + **/ + public int numObjects() + { + return objectList.size(); + } + + /** Returns all the objects in this grid. + * @return an array of all the grid objects + **/ + public GridObject[] allObjects() + { + // Copy them to an array. + int numObjects = objectList.size(); + GridObject[] theObjects = new GridObject[numObjects]; + for ( int i = 0; i < numObjects; i++ ) + theObjects[i] = (GridObject) objectList.get(i); + return theObjects; + } + + /** Returns the object at a specific location in this grid. + * @param loc the location in which to look + * @return the object at location loc; + * null if loc is not + * in the grid or is empty + **/ + public GridObject objectAt(Location loc) + { + int index = indexOf(loc); + if ( index == -1 ) + return null; + + return (GridObject) objectList.get(index); + } + + + // modifier methods + + /** Adds a new object to this internal grid representation at the + * location it specifies. + * (Precondition: obj.grid() is this grid and + * obj.location() is a valid empty location; + * verified by the Grid object.) + * @param obj the new object to be added + **/ + public void add(GridObject obj) + { + // Add object to the internal grid representation. + objectList.add(obj); + } + + /** Removes the object from this internal grid representation. + * (Precondition: obj is in this grid; verified + * by the Grid object.) + * @param obj the object to be removed + **/ + public void remove(GridObject obj) + { + // Find the index of the object and then remove it. + objectList.remove(indexOf(obj.location())); + } + + + // internal helper method + + /** Get the index of the object at the specified location. + * @param loc the location in which to look + * @return the index of the object at location loc + * if there is one; -1 otherwise + **/ + protected int indexOf(Location loc) + { + // Look through the list to find the object at the given location. + for ( int index = 0; index < objectList.size(); index++ ) + { + GridObject obj = (GridObject) objectList.get(index); + if ( obj.location().equals(loc) ) + { + // Found the object -- return its index. + return index; + } + } + + // No such object found. + return -1; + } + } +} \ No newline at end of file diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/BoundedGrid$Array2DGridRep.class b/02 Recursion/06 NQueens/edu/kzoo/grid/BoundedGrid$Array2DGridRep.class new file mode 100644 index 0000000000000000000000000000000000000000..8bd43b10a66dbd79d220ebe4c55dd9f5e8fade77 GIT binary patch literal 2097 zcma)7O>Y}j6g_Wd96QeBgOIp!6DK7N#2-x@Oev*FQ&OiX2DgO&Ab|i;fz)ie$)ZR!5k-_$LF%GNs0$ECh&_mZKsay4b!xqj+0(;OU3kQr(ze);#t}wGp=iVkeQYCMe}M9LZEBeSToX= zVK1dGEH0acauBLOq7lOj&e>(twGE4ruDNR3Wushj>>vUH!SWSTz9TSj`Eq`5tdBe? z(B^m?S!yZ^h@3#nRLL%trv(D>TrRO7pkGv51d+L5#38!7YW}eT26$I62wac<&e}s`yT@-`Q@PIIJeh0B`$vy zuR4p%0tcH?*d<{XLVSfIJj2;Kx_^21N6;~h!?KpANoN$U;2wIE+lVC9+vxk+Ly7WvkjTJCxo}@Pr&^Fawl@SCO zy~SE=Q{T7f!ySxrm34^t$hA6*V*<~USIB!)?XGkK=juq&j^Q6Y4STCI)3iVwqkob0QE8{D`*HKr}GFu84I_^lCDf8#{ll zt0E>7y|MEkb&E)T>Bl)Dzyl7>&urH(=)^6^u0p2}%o zNmXSC)AXL8&M>Ah=`~&FC77b6@{f8HCuwO!Z0DP&SVVzWFjLLz?P^n^NtQkP1wS*l zWHPcV8QF-;uG9{1*8Zl{e+c+*UEQO#x<_kupT(IfMTv28@`s3*J15bPNOV5NQuE16 zY=-u3!_aqAEwCd$dFT-WgF^Ah{9zxekqvqI@S8@jY_}Zt*Pet{RB4NQX@ySOcG7l` Yw(|*T6};{>G>>y!<^5A|0dGM6AN@g`_W%F@ literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/BoundedGrid.class b/02 Recursion/06 NQueens/edu/kzoo/grid/BoundedGrid.class new file mode 100644 index 0000000000000000000000000000000000000000..f1bc1dd28dd99c6932557b7d13ea02e45453f36f GIT binary patch literal 846 zcmZ`%U2hUW6g|T(&~8^+sVFN@ztGT4l*HE>6Q$8$kcVoT$lJn>FuKf`VOL{+lP@MV zB%1gG{87d`vqVc%UuN!|J@65qF=eOvXHZPIVcK zp}PJ#KX(|)GMgW%PYVXt&%2&Vs4G1ZQlyU=ik*Ic|Cqt;shHDwXJmRG8`$ztfX}c! z5RwnG`Izh1(KsPcb)Y6uavW)4`qiPE&IA!R2J24F7(E~rZN0b?YohaCX#0uQ(dUPU zCdU!~P{tMGXwyRtR~fpUb0P-T?#q;G86||*e8FWJr9#PrQJ$vm!A0Psh|(tIYWOJU zRg0l6Sm6^4lYwi6Q~j&v(+wD1PK(GS8OsJ&^nmblhf;(FLTMKf%jV(*_&)dJt5 zf+=<}Lmk2jhB?7s!2mbNgb@s^w6Pb^M2U>i!=lJ}q%Q3SRSdtO`GtxCQDfy*TWUWC gtf=XsUO2pWe)!~q;R0@3i92Z1?h$c~1n + * + * A BoundedGrid is a rectangular, bounded two-dimensional + * container data structure. It can contain any kind of object that + * can be modeled using an extension of the GridObject class. + * For example, a grid could be used to model a board for a + * tic-tac-toe or chess game, an environment of fish for a marine + * biology simulation, etc. + * + *

+ * A BoundedGrid is implemented as a two-dimensional array + * corresponding to the dimensions of the grid. This gives it the + * following time and space characteristics: + * + * + * + * + * + * + * + *
numObjectsO(1)
allObjectsO(r * c)
isEmpty, objectAtO(1)
addO(1)
removeO(1)
spaceO(r * c)
+ * where r is the number of rows and rc is the + * number of columns in the grid. + * + *

+ * The BoundedGrid class and its internal 2D array + * implementation are based on the College Board's + * BoundedEnv class, as allowed by the GNU General + * Public License. + * + * @author Alyce Brady + * @version 13 December 2003 + **/ + +public class BoundedGrid extends Grid +{ + // instance variables: encapsulated data for each BoundedGrid object + private int numRows; + private int numCols; + + // constructors + + /** Constructs an empty BoundedGrid object with the given dimensions. + * A cell's neighbors include only the cells to its north, south, + * east, and west, not the cells on the diagonals. + * (Precondition: rows > 0 and cols > 0.) + * @param rows number of rows in BoundedGrid + * @param cols number of columns in BoundedGrid + * @throws IllegalArgumentException if the precondition is not met + **/ + public BoundedGrid(int rows, int cols) + { + // Construct and initialize inherited attributes. + this(false, rows, cols); + } + + /** Constructs an empty BoundedGrid object with the given dimensions. + * Each cell in this grid will have at most four or eight + * adjacent neighbors, depending on the value of the + * includeDiagonalNeighbors parameter. Cells along + * the grid boundaries will have fewer than the maximum four or + * eight neighbors. If includeDiagonalNeighbors is + * true, a cell's adjacent neighbors include the cells + * to its north, south, east, and west and the cells on the diagonals, + * to the northeast, southeast, northwest, and southwest. If + * includeDiagonalNeighbors is false, + * a cell's adjacent neighbors include only the four cells to its + * north, south, east, and west. + * (Precondition: rows > 0 and cols > 0.) + * @param includeDiagonalNeighbors whether to include the four + * diagonal locations as neighbors + * @param rows number of rows in BoundedGrid + * @param cols number of columns in BoundedGrid + * @throws IllegalArgumentException if the precondition is not met + **/ + public BoundedGrid(boolean includeDiagonalNeighbors, int rows, int cols) + { + // Construct and initialize inherited attributes. + super(new Array2DGridRep(rows, cols), includeDiagonalNeighbors); + this.numRows = rows; + this.numCols = cols; + } + + // accessor methods dealing with grid dimensions + + /** Returns number of rows in this grid. + * @return the number of rows in this grid + **/ + public int numRows() + { + return numRows; + } + + /** Returns number of columns in this grid. + * @return the number of columns in this grid + **/ + public int numCols() + { + return numCols; + } + + // internal 2D Grid representation + + /** The Array2DGridRep class represents an internal bounded + * grid using a two-dimensional array. + */ + protected static class Array2DGridRep implements Grid.InternalRepresentation + { + // instance variables: encapsulated data for each Array2DGridRep object + private GridObject[][] theGrid; // internal representation of the grid + private int objectCount; // # of objects in current grid + + // constructors + + /** Constructs an empty Array2DGridRep representation with the given + * dimensions. + * (Precondition: rows > 0 and cols > 0.) + * @param rows number of rows in the grid + * @param cols number of columns in the grid + **/ + public Array2DGridRep(int rows, int cols) + { + // Verify precondition. + if ( rows <= 0 || cols <= 0 ) + throw new IllegalArgumentException(); + + theGrid = new GridObject[rows][cols]; + objectCount = 0; + } + + + // accessor methods dealing with grid dimensions + + /** Returns number of rows in this grid. + * @return the number of rows, or UNBOUNDED if the grid is unbounded + **/ + public int numRows() + { + return theGrid.length; + } + + /** Returns number of columns in this grid. + * @return the number of columns, or UNBOUNDED if the grid is unbounded + **/ + public int numCols() + { + // Note: according to the constructor precondition, numRows() > 0, + // so theGrid[0] is non-null. + return theGrid[0].length; + } + + /** Verifies whether a location is valid in this grid. + * @param loc location to check + * @return true if loc is valid; + * false otherwise + **/ + public boolean isValid(Location loc) + { + if ( loc == null ) + return false; + + return (0 <= loc.row() && loc.row() < numRows()) && + (0 <= loc.col() && loc.col() < numCols()); + } + + + // accessor methods that deal with objects in this grid + + /** Returns the number of objects in this grid. + * @return the number of objects + **/ + public int numObjects() + { + return objectCount; + } + + /** Returns all the objects in this grid. + * @return an array of all the grid objects + **/ + public GridObject[] allObjects() + { + // Create an array in which to put the objects. + GridObject[] theObjects = new GridObject[numObjects()]; + int arrayIndex = 0; + + // Look at all grid locations. + for ( int r = 0; r < numRows(); r++ ) + { + for ( int c = 0; c < numCols(); c++ ) + { + // If there's an object at this location, put it + // in the list. + GridObject obj = theGrid[r][c]; + if ( obj != null ) + { + theObjects[arrayIndex] = obj; + arrayIndex++; + } + } + } + + return theObjects; + } + + /** Returns the object at a specific location in this grid. + * @param loc the location in which to look + * @return the object at location loc; + * null if loc is not + * in the grid or is empty + **/ + public GridObject objectAt(Location loc) + { + if ( ! isValid(loc) ) + return null; + + return theGrid[loc.row()][loc.col()]; + } + + + // modifier methods + + /** Adds a new object to this internal grid representation at the + * location it specifies. + * (Precondition: obj.grid() is this grid and + * obj.location() is a valid empty location; + * verified by the Grid object.) + * @param obj the new object to be added + **/ + public void add(GridObject obj) + { + // Add object to the internal grid representation. + Location loc = obj.location(); + theGrid[loc.row()][loc.col()] = obj; + objectCount++; + } + + /** Removes the object from this internal grid representation. + * (Precondition: obj is in this grid; verified + * by the Grid object.) + * @param obj the object to be removed + **/ + public void remove(GridObject obj) + { + // Remove the object from the grid. + Location loc = obj.location(); + theGrid[loc.row()][loc.col()] = null; + objectCount--; + } + + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/ColorBlock.class b/02 Recursion/06 NQueens/edu/kzoo/grid/ColorBlock.class new file mode 100644 index 0000000000000000000000000000000000000000..4f391e8f96bb6e2089f45ddb0faad6b756d470ab GIT binary patch literal 1244 zcmaizZBNrs6vzK}4-`t>aKJ=-0-d;(jjG^d5h5h`W`P%&B__VMAQ8b=>J&)D~!wz27TJb$C( zwT={sbGNVPveP`YTY-YKz-Vw_hXDc;^+W5#GOQ0lgfIn0Rvp&~)&wTY$;(PZAhYSU zZGm*T($JtlRguBChAc+LkisQ_eBE*F?e4p#?Z38~9r_mPUd!qpm*q8|poc98= z_5U@(Qq-1gt6_Dzq^zGSClM;UG!r(NIdDAJl%*Tx#O(zUvcGBBUy*G~nFXeX5vT^0 zr|OBzesY0q*a@X5SCXR2_waTD-*NZJ|9juD+8|vEfsfA;sYlm6)XrSCsNa$J%NQ-)sP*{h#8kSkj~UlMn%Ov=mOJ&A#sV(FjQ5{ zqb4BcMqzN0tm9+brE1k-5s?l9Nur*Z>H!`~&@z>wuHpM}P^iq=QR&O8;SnCocX~pl zhWjXZrs6qDl1o+8U9ao6>@7!*Xa3*Mvn17`ONuZ+aOGTcm*HN)D8FMoZPA|Ms_LiE z^u@2pedZ~JJij^qprBY8ROqW?f~R8Sjms$T#5hcnN}0% + * + * A ColorBlock object encapsulates a color for a colored + * cell in a grid. + * + * @author Alyce Brady + * @version 13 December 2003 + * @see Grid + * @see Location + **/ +public class ColorBlock extends GridObject +{ + // Encapsulated data for each color block object + private Color theColor; // the color of this color block + + /** Constructs a color block with the specified color. + * @param colorValue the color that fills this color block + **/ + public ColorBlock(Color colorValue) + { + super(); + theColor = colorValue; + } + + /** Constructs a color block with the specified color. + * @param colorValue the color that fills this color block + * @param grid the grid containing this color block + * @param loc the location of the color block in grid + **/ + public ColorBlock(Color colorValue, Grid grid, Location loc) + { + super(grid, loc); + theColor = colorValue; + } + + /** Gets color value for color block. + **/ + public Color color() + { + return theColor; + } + + /** Returns a string representation of the color. **/ + public String toString() + { + return theColor.toString() + " " + location().toString(); + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/Direction.class b/02 Recursion/06 NQueens/edu/kzoo/grid/Direction.class new file mode 100644 index 0000000000000000000000000000000000000000..b3a717cd94164663d04b8d0c8c5556a83a49c8fc GIT binary patch literal 3365 zcmai0-*X$)75-K~ELq-2j)F}c$H6fnv1KQQG%+Q142feCC5lZg$3}*dtgW@QiM(r8 zs}MpdKS~pRmjW%2;Q^)(eF-z6q)w)prqJmV{{b&B49xIY{sP+X-n*6@M@b*F_uRYp zp7WjWe&?*d{ORx45yTFBpy5t4U+F(})^Yj^u9fdUXu0ORXE}BRnug|+#%ZI!WY~rN ziMf+}5kXKxczj}V>X3%E%q`9iYG{;uM)zl@G=$X9n4LH_bx7G^X>*$#XGY~VHK>!y zZW=q5$s8X^PmW|pHE3xK>qZ>A>>0K& z(YYaQA2bWDDKdQ+Nz^TS=)5z%Iem!PFblNh*cmX=o7>`u2+m=r{GVRrcw5y zxK~gptzCjKr?T>5H;>3^6ay=7o-)OeU+~C`wDzv}QZI&dB(Xu{!sHVf%QnX=i*u$s zWz3bxKr-XZ8>MN(wZvR53L08t2;qQ^JCG1Z57N6=w8&&6zrtxt_szr$YMad`D@LiD zF4&H1ju>SIsk?PnM;eD?6y*^OU9~$*mr7>ADD8I(l||F`M$gQfOG=+dHMG|DDH;z{ z78Xo5f(Z?q{ga)%dnM`4@{&1kEm&rLZ)aB&zZ97ris2DtdG*H9l4<8P^wrDbrqooN zK^@01Ej-LnophO_wme5c(Qrq1&rJt;mc<(jGmJ*7w9YEnx{=yXdrT0)bGTCz)cS~C9lInMX2F4VRiZ{ zi{gxinCn#RyqRaG(y*sHeaq;#!xgUuJZgBw2!2g^q+?3Ed#op|<2QINhG+4-4jW5? z!57(m?8+kJDmhX9O>9N3#~vfWwE8f|TxT)6`bCV#CgoM~Ou{wnyi;>SrB>;!cvh)@ zlJ8lR51Y2>8lFQnzrsib(@V?FH&6DuR^Lh8L)6)8cs+(!@y1HGsqS+YBltb9z&6j& zC$B}cJ7)X`ydA?^ct>zt#ZZ;zs^gSqjD5$QH^(f|HR4rHb_!mxg=~cY_P{pLIcc?t zz9~m`O*yh>%8?yYj_j9mWVe(fd!-!XNPrp84q!btitZ(Cwjz!RcHtJZa>t#V{UD

u6tI1_KxkpXDm6PpqqQ&K;M@n`=n!$>t)-`?I-d@_}rwxgj~oXC%2V`xzemR04m9&jEf4 zfbArxo4|W;H&VD4z1W979H!`Ju#a!p3c;lE&GFYS(9%gB6yrc}qKqKNxaQ0ov|KK}3b*D#*DhDUPA$t#%ZUB;uySw5EW z#1$O>Cp`x65T83qF)+;-j}qT3)$=$u;|bh@)n7 z#Ji4f=a@l&zb@`ikS+K!VvaVJjLorKCLRFb~Q>qpHn(t zuq6J44*YvnCcFK(jqFH5@Pgp86q;(XZxVs%9NRCo@W^%(q9MM=X8`a24;9gn AE&u=k literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/Direction.java b/02 Recursion/06 NQueens/edu/kzoo/grid/Direction.java new file mode 100644 index 0000000..0761c16 --- /dev/null +++ b/02 Recursion/06 NQueens/edu/kzoo/grid/Direction.java @@ -0,0 +1,243 @@ +// AP(r) Computer Science Marine Biology Simulation: +// The Direction class is copyright(c) 2002 College Entrance +// Examination Board (www.collegeboard.com). +// +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +package edu.kzoo.grid; + +import java.util.Random; +import edu.kzoo.util.RandNumGenerator; + +/** + * AP® Computer Science Marine Biology Simulation:
+ * The Direction class encapsulates the notion of a compass + * direction such as North, East, South, West. + * + *

+ * The Direction class is + * copyright© 2002 College Entrance Examination Board + * (www.collegeboard.com). + * + * @author Alyce Brady + * @author Chris Nevison + * @author Julie Zelenski + * @author APCS Development Committee + * @version 1 July 2002 + **/ + +public class Direction +{ + // Named constants for some common compass directions + public static final Direction NORTH = new Direction(0); + public static final Direction NORTHEAST = new Direction (45); + public static final Direction EAST = new Direction(90); + public static final Direction SOUTHEAST = new Direction (135); + public static final Direction SOUTH = new Direction(180); + public static final Direction SOUTHWEST = new Direction (225); + public static final Direction WEST = new Direction(270); + public static final Direction NORTHWEST = new Direction (315); + + /** Number of degrees in compass + * (will not be tested on the Advanced Placement exam). + **/ + public static final int FULL_CIRCLE = 360; // not tested on AP exam + + // Array of strings representing common compass points. + private static final String[] dirNames = {"North", "Northeast", "East", "Southeast", + "South", "Southwest", "West", "Northwest"}; + + // Instance Variables: Encapsulated data for each Direction object + private int dirInDegrees; // represents compass direction in degrees, + // with 0 degrees as North, + // 90 degrees as East, etc. + + + // constructors + + /** Constructs a default Direction object facing North. + **/ + public Direction() + { + dirInDegrees = 0; // default to North + } + + /** Constructs a Direction object. + * @param degrees initial compass direction in degrees + **/ + public Direction(int degrees) + { + dirInDegrees = degrees % FULL_CIRCLE; + if ( dirInDegrees < 0 ) + dirInDegrees += FULL_CIRCLE; + } + + /** Constructs a Direction object. + * @param str compass direction specified as a string, e.g. "North" + * @throws IllegalArgumentException if string doesn't match a known direction name + **/ + public Direction(String str) + { + int regionWidth = FULL_CIRCLE / dirNames.length; + + for ( int k = 0; k < dirNames.length; k++ ) + { + if ( str.equalsIgnoreCase(dirNames[k]) ) + { + dirInDegrees = k * regionWidth; + return; + } + } + throw new IllegalArgumentException("Illegal direction specified: \"" + + str + "\""); + } + + + // accessor methods + + /** Returns this direction value in degrees. + * @return the value of this Direction object in degrees + **/ + public int inDegrees() + { + return dirInDegrees; + } + + /** Indicates whether some other Direction object + * is "equal to" this one. + * @param other the other position to test + * @return true if other + * represents the same direction; + * false otherwise + **/ + public boolean equals(Object other) + { + if ( ! (other instanceof Direction) ) + return false; + + Direction d = (Direction) other; + return inDegrees() == d.inDegrees(); + } + + /** Generates a hash code for this direction + * (will not be tested on the Advanced Placement exam). + * @return a hash code for a Direction object + **/ + public int hashCode() + { + return inDegrees(); + } + + /** Returns the direction that is a quarter turn + * to the right of this Direction object. + * @return the new direction + **/ + public Direction toRight() + { + return new Direction(dirInDegrees + (FULL_CIRCLE / 4)); + } + + /** Returns the direction that is deg degrees + * to the right of this Direction object. + * @param deg the number of degrees to turn + * @return the new direction + **/ + public Direction toRight(int deg) + { + return new Direction(dirInDegrees + deg); + } + + /** Returns the direction that is a quarter turn + * to the left of this Direction object. + * @return the new direction + **/ + public Direction toLeft() + { + return new Direction(dirInDegrees - (FULL_CIRCLE / 4)); + } + + /** Returns the direction that is deg degrees + * to the left of this Direction object. + * @param deg the number of degrees to turn + * @return the new direction + **/ + public Direction toLeft(int deg) + { + return new Direction(dirInDegrees - deg); + } + + /** Returns the direction that is the reverse of this + * Direction object. + * @return the reverse direction + **/ + public Direction reverse() + { + return new Direction(dirInDegrees + (FULL_CIRCLE / 2)); + } + + /** Represents this direction as a string. + * @return a string indicating the direction + **/ + public String toString() + { + // If the direction is one of the compass points for which we have + // a name, provide it; otherwise report in degrees. + int regionWidth = FULL_CIRCLE / dirNames.length; + if (dirInDegrees % regionWidth == 0) + return dirNames[dirInDegrees / regionWidth]; + else + return dirInDegrees + " degrees"; + } + + /** Rounds this direction to the nearest "cardinal" direction + * (will not be tested on the Advanced Placement exam). + *

+ * The choice of possible cardinal directions depends on the number + * of cardinal directions and the starting direction. For example, + * the two cardinal directions starting at NORTH are NORTH and SOUTH. + * The two cardinal directions starting at EAST are EAST and WEST. + * The four cardinal directions starting at NORTH are NORTH, EAST, + * SOUTH, and WEST. The four cardinal directions starting from + * NORTHEAST are NORTHEAST, SOUTHEAST, SOUTHWEST, and NORTHWEST. + * (Precondition: 0 < numDirections <= 360) + * @param numDirections the number of "cardinal" directions + * @param startingDir the starting cardinal direction + * @return the current direction rounded to a "cardinal" direction + **/ + public Direction roundedDir(int numDirections, Direction startingDir) + { + // Determine offset of this direction from startingDir. + int degreesFromStartingDir = dirInDegrees - startingDir.inDegrees(); + + // Divide the compass into regions whose width is based on the + // number of cardinal directions we have. Then determine how many + // regions this direction is from the starting direction. + int regionWidth = FULL_CIRCLE / numDirections; + int numRegions = Math.round((float)degreesFromStartingDir/regionWidth); + + // Return the "cardinal" direction numRegions regions from the + // starting direction. + return startingDir.toRight(numRegions*regionWidth); + } + + + // methods not tied to any one Direction object + + + /** Returns a random direction. + * @return a direction + **/ + public static Direction randomDirection() + { + Random randNumGen = RandNumGenerator.getInstance(); + return new Direction(randNumGen.nextInt(FULL_CIRCLE)); + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/Grid$BoundedGridValidityChecker.class b/02 Recursion/06 NQueens/edu/kzoo/grid/Grid$BoundedGridValidityChecker.class new file mode 100644 index 0000000000000000000000000000000000000000..1f44e8af2881385108f836154383041e97bad068 GIT binary patch literal 836 zcmZ`$O>fgc5Pjp18VA#+DWst((1t?uLE;}!#DPd4OA$zbB9)tCui9;0ujC{k_$$5j zoC^{Ki33+8jtIDd;C~=yoq|+o4!dvO?9RM5yB~kOdk+(BvcBwSVMsVGePVJ0;{Nm`>_$x43j46Cze-eN0RZrF-)r;Z%vgAuCre_CnP zkyPnc<0+whTISE0gH@i2JLamu-V=TSOFJ9!m#En3oV9{r|^abl)b1>+5JR7V=CBx8VK;BC58Y literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/Grid$InternalRepresentation.class b/02 Recursion/06 NQueens/edu/kzoo/grid/Grid$InternalRepresentation.class new file mode 100644 index 0000000000000000000000000000000000000000..e323326ae8bbf02f5d6c09c8874015725fc31e9a GIT binary patch literal 471 zcmaKo&q~8U5XQeTF==DfTD2GHLGX|qG?(6bDuNOy2ns#uX-$@ry4{sc(nBB3gAd?C ziMv}6Thu+wkC~ls{(XGDy~D#L`hLfILS9}!y0^&HoP;opt^tKhN1OgY#V|LBrT34!Jdwd7{H2i54D-;}~QZJTvv z4?yT-QgVGQSXFVeOK)>&n;7Dl(Et6E!8vx|!@j^L>>>aRL$n;*h#dFOaoop&Bb5PicP9Gs^pD&j|@u>g%;tRXfe8WW<0N?~^&8(28+lKU{x-$Y|&Vqt0F zU$M3|&K=kY(#)HgeQ)RO?8o=(8x$O2i(m>jF^5k`kn&%w$Z+$yRd{?+>)wMk7 z%J{L}7tTalY3i)H*L9q(hG1Oyz6jf%6-9zgR;E2_*dXl8Gm2g0 zcq6hFoE;k+3u%)+vB lkuu^u$NXRYSEjFyITJmzQNe1aT+8_Ds50tVr-n_GegHg`j8Fgo literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/Grid$ValidityChecker.class b/02 Recursion/06 NQueens/edu/kzoo/grid/Grid$ValidityChecker.class new file mode 100644 index 0000000000000000000000000000000000000000..d0fa70be1466562a9ac876947e33efac61305320 GIT binary patch literal 240 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 Z9QJ$#0To~yEKo{g8$zLC_^Tom{trogeH#D( literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/Grid.java b/02 Recursion/06 NQueens/edu/kzoo/grid/Grid.java new file mode 100644 index 0000000..01192b0 --- /dev/null +++ b/02 Recursion/06 NQueens/edu/kzoo/grid/Grid.java @@ -0,0 +1,505 @@ +// Class: Grid +// +// Author: Alyce Brady +// +// This class is based on the College Board's Environment interface +// and SquareEnvironment class, as allowed by the GNU General Public +// License. Environment and SquareEnvironment are components of +// the AP(r) CS Marine Biology Simulation case study +// (see http://www.collegeboard.com/student/testing/ap/compsci_a/case.html). +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +package edu.kzoo.grid; + +import edu.kzoo.util.RandNumGenerator; + +import java.util.ArrayList; + +/** + * Grid Container Package:
+ * + * A Grid is a two-dimensional, rectangular container + * data structure. It can contain any kind of object that can be + * modeled using an extension of the GridObject class. + * For example, a grid could be used to model a board for a + * tic-tac-toe or chess game, an environment of fish for a marine + * biology simulation, etc. + * + *

+ * The Grid class is based on the College Board's + * Environment interface and SquareEnvironment + * class, as allowed by the GNU General Public License. + * + * @author Alyce Brady + * @version 13 December 2003 + * @see Direction + * @see Location + * @see GridObject + **/ + +public abstract class Grid +{ + // constants + + /** A constant representing an unbounded (or infinite) number of + * rows or columns in a grid. + **/ + public final static int UNBOUNDED = -1; + + // instance variables: encapsulated data for EACH Grid object + + /** Instance variable indicating whether the set of neighbors around + * each cell in the grid should include the 4 cells on the diagonals + * as well as the 4 cells with shared sides. + **/ + protected final boolean includeDiagonals; + + /** Instance variable containing the internal representation of the + * grid, which could be implemented in a number of ways. + **/ + protected final InternalRepresentation internalRep; + + + // constructors + + /** Constructs a Grid object with the specified internal + * representation. Each cell in this grid will have at most four + * adjacent neighbors, the cells to its north, south, east, and west. + * If the grid is bounded, cells along the boundaries will have fewer + * than four neighbors. + * @param rep the internal representation for the grid and the + * objects it contains + **/ + protected Grid(InternalRepresentation rep) + { + this(rep, false); + } + + /** Constructs a Grid object with the specified internal + * representation. Each cell in this grid will have at most four or + * eight adjacent neighbors, depending on the value of the + * includeDiagonalNeighbors parameter. If + * includeDiagonalNeighbors is true, each + * cell will have at most eight adjacent neighbors, the cells to + * its north, south, east, and west and the cells on the diagonals, + * to the northeast, southeast, northwest, and southwest. If + * includeDiagonalNeighbors is false, + * each cell will have at most the four neighbors to its north, + * south, east, and west. If the grid is bounded, cells along + * the boundaries will have fewer than the maximum four or eight + * neighbors. + * @param rep the internal representation for the grid and the + * objects it contains + * @param includedDiagonalNeighbors whether to include the four + * diagonal locations as neighbors + **/ + protected Grid(InternalRepresentation rep, + boolean includeDiagonalNeighbors) + { + internalRep = rep; + includeDiagonals = includeDiagonalNeighbors; + } + + + // accessor methods dealing with grid dimensions + + /** Returns number of rows in this grid. + * @return the number of rows, or UNBOUNDED if the grid + * is unbounded + **/ + public abstract int numRows(); + + /** Returns number of columns in this grid. + * @return the number of columns, or UNBOUNDED if the grid + * is unbounded + **/ + public abstract int numCols(); + + + // accessor methods for navigating around this grid + + /** Verifies whether a location is valid in this grid. + * @param loc location to check + * @return true if loc is valid; + * false otherwise + **/ + public boolean isValid(Location loc) + { + return internalRep.isValid(loc); + } + + /** Returns the number of adjacent neighbors around each cell. + * @return the number of adjacent neighbors + **/ + public int numAdjacentNeighbors() + { + return (includeDiagonals ? 8 : 4); + } + + /** Generates a random direction. The direction returned by + * randomDirection reflects the direction from + * a cell in the grid to one of its adjacent neighbors. + * @return a direction + **/ + public Direction randomDirection() + { + RandNumGenerator randNumGen = RandNumGenerator.getInstance(); + int randNum = randNumGen.nextInt(numAdjacentNeighbors()); + return new Direction(randNum * Direction.FULL_CIRCLE/numAdjacentNeighbors()); + } + + /** Returns the direction from one location to another. If + * fromLoc and toLoc are the same, + * getDirection arbitrarily returns Direction.NORTH. + * @param fromLoc starting location for search + * @param toLoc destination location + * @return direction from fromLoc to toLoc + **/ + public Direction getDirection(Location fromLoc, Location toLoc) + { + if (fromLoc.equals(toLoc)) + return Direction.NORTH; + int rowDifference = fromLoc.row() - toLoc.row(); // our coord system is upside down + int colDifference = toLoc.col() - fromLoc.col(); + double inRads = Math.atan2(rowDifference, colDifference); + double angle = 90 - Math.toDegrees(inRads); // convert to our sweep, North is 0 + Direction d = new Direction((int)angle); + return d.roundedDir(numAdjacentNeighbors(), Direction.NORTH); + } + + /** Returns the adjacent neighbor (whether valid or invalid) of a location + * in the specified direction. + * @param fromLoc starting location for search + * @param compassDir direction in which to look for adjacent neighbor + * @return neighbor of fromLoc in given direction + * (whether valid or not) + **/ + public Location getNeighbor(Location fromLoc, Direction compassDir) + { + Direction roundedDir = compassDir.roundedDir(numAdjacentNeighbors(), + Direction.NORTH); + + // Calculate neighboring location using sines and cosines. + // First have to adjust because our 0 is North, not East. + // The row change is the opposite of what is expected because + // our row numbers increase as they go down, not up. + int adjustedDegrees = 90 - roundedDir.inDegrees(); + double inRads = Math.toRadians(adjustedDegrees); + int colDelta = (int)(Math.cos(inRads) * Math.sqrt(2)); + int rowDelta = -(int)(Math.sin(inRads) * Math.sqrt(2)); + return new Location(fromLoc.row() + rowDelta, fromLoc.col() + colDelta); + } + + /** Returns the adjacent neighbors of a specified location. + * Only neighbors that are valid locations in the grid will be + * included. + * @param ofLoc location whose neighbors to get + * @return a list of locations that are neighbors of ofLoc + **/ + public ArrayList neighborsOf(Location ofLoc) + { + ArrayList nbrs = new ArrayList(); + + Direction d = Direction.NORTH; + for (int i = 0; i < numAdjacentNeighbors(); i++) + { + Location neighbor = getNeighbor(ofLoc, d); + if ( isValid(neighbor) ) + nbrs.add(neighbor); + d = d.toRight(Direction.FULL_CIRCLE/numAdjacentNeighbors()); + } + return nbrs; + } + + + // accessor methods that deal with objects in this grid + + /** Returns the number of objects in this grid. + * @return the number of objects + **/ + public synchronized int numObjects() + { + return internalRep.numObjects(); + } + + /** Returns all the objects in this grid. + * @return an array of all the grid objects + **/ + public synchronized GridObject[] allObjects() + { + return internalRep.allObjects(); + } + + /** Determines whether a specific location in this grid is empty. + * @param loc the location to test + * @return true if loc is a + * valid location in the context of this grid + * and is empty; false otherwise + **/ + public synchronized boolean isEmpty(Location loc) + { + return isValid(loc) && objectAt(loc) == null; + } + + /** Returns the object at a specific location in this grid. + * @param loc the location in which to look + * @return the object at location loc; + * null if loc is not + * in the grid or is empty + **/ + public synchronized GridObject objectAt(Location loc) + { + return internalRep.objectAt(loc); + } + + /** Creates a single string representing all the objects in this + * environment (not necessarily in any particular order). + * @return a string indicating all the objects in this environment + **/ + public synchronized String toString() + { + GridObject[] theObjects = allObjects(); + String s = "Grid contains " + numObjects() + " objects: "; + for ( int index = 0; index < theObjects.length; index++ ) + s += theObjects[index].toString() + " "; + return s; + } + + + // modifier methods + + /** Adds a new object to this grid at the specified location. + * (Precondition: obj.grid() and + * obj.location() are both null; + * loc is a valid empty location in this grid.) + * @param obj the new object to be added + * @throws IllegalArgumentException if the precondition is not met + **/ + public void add(GridObject obj, Location loc) + { + obj.addToGrid(this, loc); + } + + /** Adds the specified object to this grid at the location it specifies. + * This method is meant to be called only by + * GridObject.addToGrid because it assumes a + * broken GridObject invariant: the grid and location + * are set in the GridObject instance, but the object's + * location in the internal representation of the grid does not yet + * represent the object's own view of its location. + * (Precondition: obj.grid() is this grid and + * obj.location() is a valid empty location.) + * @param obj the new object to be added + * @throws IllegalArgumentException if the precondition is not met + **/ + final synchronized void internalAdd(GridObject obj) + { + // Verify precondition. + Location loc = obj.location(); + if ( obj.grid() != this || ! isEmpty(loc) ) + throw new IllegalArgumentException("Location " + loc + + " is not a valid empty location"); + + // Add object to the grid. + internalRep.add(obj); + } + + /** Removes the specified object from this grid. + * (Precondition: obj is in this grid.) + * @param obj the object to be removed + * @throws IllegalArgumentException if the precondition is not met + **/ + public synchronized void remove(GridObject obj) + { + // Make sure that the object is not in another grid. + if ( obj.grid() != this && obj.grid() != null ) + throw new IllegalArgumentException("Cannot remove " + + obj + " from another grid"); + + // The object should initiate its own removal from the grid so + // that its object invariant is not violated. + obj.removeFromGrid(); + } + + /** Removes whatever object is at the specified location in this grid. + * If there is no object at the specified location, this method does + * nothing. + * @param loc the location from which to remove an object + **/ + public void remove(Location loc) + { + // The object should initiate its own removal from the grid so + // that its object invariant is not violated. + GridObject obj = objectAt(loc); + if ( obj != null ) + obj.removeFromGrid(); + } + + /** Removes the specified object from this grid. This method is meant to + * be called only by GridObject.removeFromGrid; all object + * removals should proceed through that method. + * (Precondition: obj is in the process of being removed + * via GridObject.removeFromGrid and, as a result, its + * invariant does not hold. Specifically, + * obj.grid() == null but obj.location() + * correctly specifies the object's location in the grid.) + * @param obj the object to be removed + * @throws IllegalArgumentException if the precondition is not met + **/ + final synchronized void internalRemove(GridObject obj) + { + // Make sure that the object has initiated its own removal from + // the grid. + if ( obj.grid() != null || objectAt(obj.location()) != obj ) + throw new IllegalArgumentException("Object " + obj + + " is not in process of removing itself"); + + // The object is in the process of removing itself from the grid, + // so we can remove it. + internalRep.remove(obj); + } + + /** Removes all objects from this grid. + **/ + public synchronized void removeAll() + { + // Loop through the objects in the grid and remove them. + GridObject[] objectsToRemove = allObjects(); + for ( int i = 0; i < objectsToRemove.length; i++ ) + { + remove(objectsToRemove[i]); + } + } + + + /** The InternalRepresentation interface specifies + * the methods that any internal representation of the + * Grid class must implement. + */ + protected interface InternalRepresentation + { + // accessor methods + + /** Verifies whether a location is valid in this grid. + * @param loc location to check + * @return true if loc is valid; + * false otherwise + **/ + boolean isValid(Location loc); + + /** Returns the number of objects in this grid. + * @return the number of objects + **/ + int numObjects(); + + /** Returns all the objects in this grid. + * @return an array of all the grid objects + **/ + GridObject[] allObjects(); + + /** Returns the object at a specific location in this grid. + * @param loc the location in which to look + * @return the object at location loc; + * null if loc is not + * in the grid or is empty + **/ + GridObject objectAt(Location loc); + + + // modifier methods + + /** Adds a new object to this environment at the location it specifies. + * (Precondition: obj.grid() is this grid and + * obj.location() is a valid empty location; + * verified by the Grid object.) + * @param obj the new object to be added + **/ + void add(GridObject obj); + + /** Removes the object from this environment. + * (Precondition: obj is in this environment; verified + * by the Grid object.) + * @param obj the object to be removed + **/ + void remove(GridObject obj); + } + + + /** A ValidityChecker specifies a strategy for determining + * the validity of a location in a grid. Known implementing classes + * include BoundedGridValidityChecker and + * UnboundedGridValidityChecker. + **/ + public interface ValidityChecker + { + /** Verifies whether a location is valid. + * @param loc location to check + * @return true if loc is valid; + * false otherwise + **/ + public boolean isValid(Location loc); + } + + + /** A BoundedGridValidityChecker implements a strategy for + * determining the validity of a location in a bounded grid. + **/ + public static class BoundedGridValidityChecker implements ValidityChecker + { + private int numRows; + private int numCols; + + /** Constructs a BoundedGridValidityChecker object. + * (Precondition: rows > 0 and cols > 0.) + * @param rows number of rows in the grid + * @param cols number of columns in the grid + **/ + public BoundedGridValidityChecker(int rows, int cols) + { + numRows = rows; + numCols = cols; + } + + /** Verifies whether a location is valid. + * @param loc location to check + * @return true if loc is valid; + * false otherwise + **/ + public boolean isValid(Location loc) + { + if ( loc == null ) + return false; + + return (0 <= loc.row() && loc.row() < numRows) && + (0 <= loc.col() && loc.col() < numCols); + } + } + + + /** An UnboundedGridValidityChecker implements a strategy + * for determining the validity of a location in an unbounded grid. + **/ + public static class UnboundedGridValidityChecker implements ValidityChecker + { + /** Verifies whether a location is valid. + * @param loc location to check + * @return true if loc is valid; + * false otherwise + **/ + public boolean isValid(Location loc) + { + // All non-null locations are valid in an unbounded grid. + return loc != null; + } + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/GridObject.class b/02 Recursion/06 NQueens/edu/kzoo/grid/GridObject.class new file mode 100644 index 0000000000000000000000000000000000000000..4310388fa36ad03f616dc59930ada8b27087062a GIT binary patch literal 2550 zcmaJ?TXWM^5dMzi;NU2M1_&V#Fpxqbo48QY3!#@J!u53E1y2Y<>JD1Gv~#i6t-SBsz%y2oI<+3+o2HimP|2J*q&YQKB3TA zyq$G(1aCX$rr}wxLz7J>Eywa+Rp=NQomYrXyLnR~J<{eOVJ6!48YrXl8a6|VBZ3}< zEm_MkXDY=7vpi=k*hK3SOMBiZTk;)lM!h9#Sz)jZw3+yXfX3s9Vw;9eY}!ot9U5Zj zlDC}-n~i*a&J_m@yMpk83J02{%GkD9Fzm^4p;9y*@6<;*vm|N9ut(wKl&t1qAmXqIDmncfA{o3@Q*s$|<5Z-0}7CU8>Z@d`E9gz*n! zc#Y#h{~4obYM8`JalDSHHG>o|i{TAgRt>viUR+c-)Y{W9^9_h=IE^!LoWj{SPDrO! zq6_CaO-89?I&5&N6{oI^bp;5LWhNIeBS05fkhSfrcP56nG`uKjT*9oF&Qe51&J&?+ zQ|PuF&n!FCdY-|D+WRY_t0%)*eFs;hkyK!BZi#n_S&zcbw!7AksBG5BT0T`QdAI-9 z?y83O@qq;RkOeVsRt%dRTr(_nE;L<0PI4ma-m+PAtLEvlTNJ(;7G?S)C=kUlZ;^;~r-ajxC`8t0|0_>AdFt)TawZ@7i4&;^ds^*FZjO$*HM4Ep#b z5V9i>Ul5{0Z1ojv*VQlRmt`Qiimj(3^8BJ$A zP}WgQ5qTQD)MG!+U>`C#jB`lhJpWtH;V5Q&Hi;l&$VPY`BvVP`7>1cfFuF>TeDHUqhUfL~(HXtlahInNNZ!3Z@-^Pg?~=i_mfQy$x${m7k<)w%a;JVD z{XaE80xD*Ub7#Yu*V_ip1MSYm4V;g&7xkRZhmm(lGEWhgd{+I(3tw)SQkALQV)Lpk zz`Gi(IFBK#85TfN8h(TmSBUy*4bu;hS;4u!Yz=P)b(`Z`4R5!T{{67SG=fIgnh^$l z`G3XkevO^@27B-=$KyMU;zvJfpd~$w$`}nT>7kZ}sfG7KCZCaqFd1hMR=QW>C2KJ5 zG|42nH&BCl2YqsSftE{piblJer1nx^z|ZW*eGH;Tu|8nnUonP + * + * A GridObject object is an object that can be contained + * in a grid. If it is in a grid, it keeps track of its location + * there. When it moves, it notifies the grid. This ensures that the + * object and the grid in which it is located always agree about where + * the object is. + * + * Object invariant: + *

+ *      this.grid() == null && this.location() == null ||
+ *      this.grid().objectAt(this.location()) == this
+ *  
+ * + * @author Alyce Brady + * @version 13 December 2003 + * @see Grid + * @see Location + **/ + +public class GridObject +{ + // instance variables: encapsulated data for each GridObject instance + private Grid theGrid; // the grid holding this grid object + private Location myLoc; // this grid object's location + + // constructors + + /** Constructs an instance of a GridObject that is not yet in a grid. + **/ + public GridObject() + { + this(null, null); + // assert(theGridObjectInvariantHolds()); + } + + /** Constructs an instance of a GridObject and places it in the specified + * grid. + * (Precondition: either both loc and grid are + * null or neither is null; if loc + * is not null, it is a valid empty location in + * grid.) + * @param grid the grid in which this object should be placed + * @param loc the location of this grid object + * @throws IllegalArgumentException if the precondition is not met + **/ + public GridObject(Grid grid, Location loc) + { + theGrid = null; + myLoc = null; + + if ( grid != null && loc != null ) + { + addToGrid(grid, loc); + } + else if ( grid != null || loc != null ) + throw new IllegalArgumentException( + "Both grid and loc should be provided or both should be null."); + + // assert(theGridObjectInvariantHolds()); + } + + + // accessor methods + + /** Checks whether this object is in a grid. + * @return true if the object is in a grid; + * false otherwise + **/ + public final synchronized boolean isInAGrid() + { + // To be true, this object must be in the grid and at + // the correct location. + return ( this.grid() != null && + this.grid().objectAt(this.location()) == this ) ; + } + + /** Returns the grid in which this grid object exists. + * @return the grid containing this + * GridObject + **/ + public Grid grid() + { + return theGrid; + } + + /** Gets this grid object's location. + * @return the grid object's location + **/ + public Location location() + { + return myLoc; + } + + /** Verifies that the object invariant holds. + * @return true if the object invariant holds; + * false if it has been violated + **/ + protected final synchronized boolean theGridObjectInvariantHolds() + { + return ( (this.grid() == null && this.location() == null) || + isInAGrid() ) ; + } + + /** Returns a string representation of this grid object. + * @return a string representation of this grid object + **/ + public String toString() + { + return getClass().getName() + " " + location().toString(); + } + + + // public modifier method + + /** Acts. For example, acts for one step in an animation or simulation. + * This implementation of act does not, in fact, do + * anything, but subclasses may redefine it to have specific, + * application-dependent behavior. + **/ + public void act() + { + } + + // protected modifier methods: these are protected because not all subclasses + // will wish to allow client code to modify an object's location. + // Those subclasses that do should provide a public method to do so + // (e.g., a move method), which can, in turn, call the methods below. + + /** Adds this object to the specified grid at the specified location. + * (Precondition: this object is not currently in a grid; + * neither grid nor loc + * is null; loc is a valid + * empty location in grid.) + * @param grid the grid in which this object should be placed + * @param loc the location of this grid object + * @throws IllegalArgumentException if the precondition is not met + **/ + protected synchronized void addToGrid(Grid grid, Location loc) + { + // Verify parts of precondition not verified by Grid.internalAdd. + if ( this.grid() != null || grid == null || loc == null ) + throw new IllegalArgumentException(); + + // Set relevant instance variables and add to grid. + theGrid = grid; + myLoc = loc; + theGrid.internalAdd(this); + + // assert(theGridObjectInvariantHolds()); + } + + /** Modifies this grid object's location and notifies the grid. + * (Precondition: this object is in a grid and newLoc + * is a valid, empty location in the grid.) + * @param newLoc new location value + * @throws IllegalArgumentException if the precondition is not met + **/ + protected synchronized void changeLocation(Location newLoc) + { + // Verify precondition. + if ( ! isInAGrid() || ! theGrid.isEmpty(newLoc) ) + throw new IllegalArgumentException(); + + if ( ! newLoc.equals(myLoc) ) + { + Grid theGridIStillWantToBeIn = theGrid; + removeFromGrid(); + addToGrid(theGridIStillWantToBeIn, newLoc); + } + + // assert(theGridObjectInvariantHolds()); + } + + /** Removes this object from the grid in which it was located. + **/ + protected synchronized void removeFromGrid() + { + // No action is necessary if this object isn't in a grid. + if ( ! isInAGrid() ) + return; + + // The grid and grid object should both notify the other + // when an object is removed. We set theGrid to null BEFORE + // notifying the grid to break the circularity. + Grid tempGrid = theGrid; + theGrid = null; + tempGrid.internalRemove(this); + myLoc = null; + + // assert(theGridObjectInvariantHolds()); + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/Location.class b/02 Recursion/06 NQueens/edu/kzoo/grid/Location.class new file mode 100644 index 0000000000000000000000000000000000000000..6c643f6b2682cd2ffdf2330cd94fc7a645f5da41 GIT binary patch literal 1368 zcmZ`%Sx*yD6#i}(TI#ewS!7e|f=(A&cTf;e5|hRXi4Y<_IkW>EXgfHx7=7|@;1fT9 z2Ti0TnizfcM;X66Gi@h;4|DIiXYToybI+f@-+#i7Njw!8(o2op&PUVCZCOSsS1^lO z-7sq*2!Y;hZC}e(wAxl~d1G5I)ANR0|zHj?0J|&@=1Sc% zYFq5Gn)I+ZSvnc&Fgv+tjm=Hn3L(w5t6@x@qHznIUgsjn;5N-`ySsX=BrvAt&$2j( zGYanFo-DX8;L9Y!cqowZHme1FMy3Z~S^_+xv}71WOd=%{PXr<>X2UA#&kgyi(bm*u zr8`_@GXkJY?mjsf0C$cBcg`h;<^orRr*-E2+`A%cM;e+S=j z{(=oF(D@RbFMFJ;ZRaZ6eT{4}3ck*6Nar`&;-~F15R;63v4gUtd)r}gTJYNABGzuf z1a7)6KDjQkj`(yF>Vfpqu@Pv{@u z;98zIdajyfzP)_Si66+U$FnE6BXu + * A Location object represents the row and column of a + * location in a two-dimensional grid. + * + *

+ * The Location class is + * copyright© 2002 College Entrance Examination Board + * (www.collegeboard.com). + * + * @author Alyce Brady + * @author Chris Nevison + * @author APCS Development Committee + * @version 1 July 2002 + **/ + +public class Location implements Comparable +{ + // Instance Variables: Encapsulated data for each Location object + private int myRow; // row location in grid + private int myCol; // column location in grid + + /** Constructs a Location object. + * @param row location's row + * @param col location's column + **/ + public Location(int row, int col) + { + myRow = row; + myCol = col; + } + + // accessor methods + + /** Returns the row coordinate of this location. + * @return row of this location + **/ + public int row() + { + return myRow; + } + + /** Returns the column coordinate of this location. + * @return column of this location + **/ + public int col() + { + return myCol; + } + + /** Indicates whether some other Location object is + * "equal to" this one. + * @param other the other location to test + * @return true if other is at the + * same row and column as the current location; + * false otherwise + **/ + public boolean equals(Object other) + { + if ( ! (other instanceof Location) ) + return false; + + Location otherLoc = (Location) other; + return row() == otherLoc.row() && col() == otherLoc.col(); + } + + /** Generates a hash code for this location + * (will not be tested on the Advanced Placement exam). + * @return a hash code for a Location object + **/ + public int hashCode() + { + return row() * 3737 + col(); + } + + /** Compares this location to other for ordering. + * Returns a negative integer, zero, or a positive integer as this + * location is less than, equal to, or greater than other. + * Locations are ordered in row-major order. + * (Precondition: other is a Location object.) + * @param other the other location to test + * @return a negative integer if this location is less than + * other, zero if the two locations are equal, + * or a positive integer if this location is greater than + * other + **/ + public int compareTo(Object other) + { + Location otherLoc = (Location) other; + if ( equals(other) ) + return 0; + if ( row() == otherLoc.row() ) + return col() - otherLoc.col(); + return row() - otherLoc.row(); + } + + /** Represents this location as a string. + * @return a string indicating the row and column of the + * location in (row, col) format + **/ + public String toString() + { + return "(" + row() + ", " + col() + ")"; + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/PictureBlock.class b/02 Recursion/06 NQueens/edu/kzoo/grid/PictureBlock.class new file mode 100644 index 0000000000000000000000000000000000000000..fd551b8483b37b8758146892875af08256034899 GIT binary patch literal 1737 zcma)6*-{fh6g?f142*-aC=&M-ApypHAuI|a2BIL*L?4Hw!O@UOO(t$Xy`D!th}~MYi4TQT9YXnk^=h*vXXc0 zvS%w?kB>8p7Eu|`C76)txLvZnNr4N4d(C@KhO)eN#wkdF%zrtg_cBN}ou!?;r7}zo zWes$|&=EqXz=5<~k`JrvE7E;ztrU4{@$xm7FD9WB^yJ4Sc$&%CX8a$Up4 zApa%TDNEOTD=_f){2M#bz-3&~aS2yS1}XVALO{z1q@%dyyq-iIha0bb_m4knY9`#ddBa~AY6CjOB+=pvKvEuDd0Dx z+RESY(QplevO?!~AO99;ZR6SzPYerD!~Tyx^Z>tV27nT<&Ctc&sQ`#>^ze@^=%r2g zI~6+Q2R7<~fAJ!Xwp@H97OtT$KKup!@eQ0vY~b8jBo_IB-uO2RJc~tY82W<5dyIa= z$g>`E6W2D8tYPvKW;QTK{M-f>#-af_T0@%XoiyW26d31a6EHA|K1}g--$nv67-Pxr za!p|tSd7lg{A*9{O~1Si};k^s)UOVVP>B(1{FjQ4)QOCw00e uS0zOx{uzl6+=QSsR3I>z(oZQvK>cC?b{J1o5gMKQo1HT)owIZcA@>LT9hHXw literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/PictureBlock.java b/02 Recursion/06 NQueens/edu/kzoo/grid/PictureBlock.java new file mode 100644 index 0000000..3f1c7e0 --- /dev/null +++ b/02 Recursion/06 NQueens/edu/kzoo/grid/PictureBlock.java @@ -0,0 +1,86 @@ +// Class: PictureBlock +// +// Author: Alyce Brady +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +package edu.kzoo.grid; + +import javax.swing.ImageIcon; + +/** + * Grid Container Package:
+ * + * A PictureBlock object encapsulates a picture (an image + * read from a file) to be put in a cell in a grid. + * + * @author Alyce Brady + * @version 10 November 2004 + * @see Grid + * @see Location + **/ +public class PictureBlock extends GridObject +{ + // Encapsulated data for each picture block object + private ImageIcon icon; + private String description; + + /** Constructs a picture block encapsulating the image in the specified + * file. Looks for the named file first in the jar file, then in the + * current directory. + * @param imageFilename name of file containing image + * @param description description of this picture block object (used + * by the toString method) + **/ + public PictureBlock(String imageFilename, String description) + { + this(imageFilename, description, null, null); + } + + /** Constructs a picture block encapsulating the image in the specified + * file. Looks for the named file first in the jar file, then in the + * current directory. + * @param imageFilename name of file containing image + * @param description description of this picture block object (used + * by the toString method) + * @param grid the grid containing this picture block + * @param loc the location of the picture block in grid + **/ + public PictureBlock(String imageFilename, String description, + Grid grid, Location loc) + { + super(grid, loc); + this.description = description; + java.net.URL urlInJarFile = getClass().getResource(imageFilename); + if (urlInJarFile != null) + icon = new ImageIcon(urlInJarFile); + else + { + String path = System.getProperty("user.dir") + + java.io.File.separator + imageFilename; + icon = new ImageIcon(path); + } + } + + /** Gets picture associated with this picture block. + **/ + public ImageIcon pictureIcon() + { + return icon; + } + + /** Returns the description of the picture provided to the constructor. **/ + public String toString() + { + return description; + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/TextCell.class b/02 Recursion/06 NQueens/edu/kzoo/grid/TextCell.class new file mode 100644 index 0000000000000000000000000000000000000000..2baa38b8d173e28daea48d7f885e71b6d2e29044 GIT binary patch literal 1320 zcmah}U2hUW6g>k=DX=Z=+E%L8erOdI=xVIKV2p%BUuYZCiZStJfeqbuWeqNB{8egf zNPO@I_@j(xX180R7++>~=H7G8z2^@6`u*c4lBnXoz>3oyTBo0V-|7wAu65*m3L1{* zr6B|gfWV(RSJh4C6mS^{S)?qMk`@NdLEW-`o^9KS8Vch;0 zSn7t+na6J54W0-r7cYZLEdj0JcO8Lw#T+Bk&;?R$&+eS+n8$1ebI1#9Pa&DqEVXoG zu$V;xhCsgQ_MQFV+qN?}vfCb&jHchQy_P+2bvKaEO zW})Gljud7xRJx%fEvro6ra(rfMwZm4RXi>t?XFD-%NhgM@7JV7FQ##f`!$LG52ti! zOFDFmjmh^QuryJDVh~7re&@0;ad`q(aT;*qF3u0lD@pTAY8FeE9|h;$37?a39*&;{ z=a4=0hl7su%$2j8J0H-Fv;&*$NCUVg#r+nGfa)Cb1`)e z+qk2;%Hb}GEJ60N6^Xp#IYkk}tgdP!l>gmMlP`V`I`-+qfzsR!k+G%`YZ_5IaDh(ZhsDMDWjThc|Mne}mU2!EdI5EhTa9 E4|~q}cK`qY literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/TextCell.java b/02 Recursion/06 NQueens/edu/kzoo/grid/TextCell.java new file mode 100644 index 0000000..11c8066 --- /dev/null +++ b/02 Recursion/06 NQueens/edu/kzoo/grid/TextCell.java @@ -0,0 +1,95 @@ +// Class: TextCell +// +// Author: Alyce Brady +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +package edu.kzoo.grid; + +import java.awt.Color; + +/** + * Grid Container Package:
+ * + * A TextCell object encapsulates text to go in a + * cell in a grid. + * + * @author Alyce Brady + * @version 13 December 2003 + * @see Grid + * @see Location + **/ +public class TextCell extends GridObject +{ + // Encapsulated data for each text cell object + private String theText; // the text to go in a cell in the grid + private Color theColor; // the color of this color block + + /** Constructs a text cell with the specified text and a default color + * of black. + * @param text the text to go in this cell + **/ + public TextCell(String text) + { + this(text, Color.black); + } + + /** Constructs a text cell with the specified text and color. + * @param text the text to go in this cell + * @param textColor the color of the text + **/ + public TextCell(String text, Color textColor) + { + super(); + theText = text; + theColor = textColor; + } + + /** Constructs a text cell at a given location of a grid with the + * specified text and a default color of black. + * @param text the text to go in this cell + * @param grid the grid containing this text cell + * @param loc the location of the text cell in grid + **/ + public TextCell(String text, Grid grid, Location loc) + { + this(text, Color.black, grid, loc); + } + + /** Constructs a text cell at a given location of a grid with the + * specified text and color. + * @param text the text to go in this cell + * @param textColor the color of the text + * @param grid the grid containing this text cell + * @param loc the location of the text cell in grid + **/ + public TextCell(String text, Color textColor, Grid grid, Location loc) + { + super(grid, loc); + theText = text; + theColor = textColor; + } + + /** Gets text in this text cell. + **/ + public String text() + { + return theText; + } + + /** Gets color of text. + **/ + public Color color() + { + return theColor; + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/display/CheckeredBackgroundDisplay.class b/02 Recursion/06 NQueens/edu/kzoo/grid/display/CheckeredBackgroundDisplay.class new file mode 100644 index 0000000000000000000000000000000000000000..e77788f770c628478c22520f21c0a322bfb83dc6 GIT binary patch literal 1687 zcmb7F+j0{}5Iv*Y+Cmr`Sq732oRAP*5KClG5)6h|#zr7+mQhG54_U9q^5XT5Y9*nB zr%=U*gqQG~s#vMyAs>*B3OTbYEH3gxq^g;oo}Sa)r@N(p{{8E3L{Y>;f%CH2Gk2aS zWwv~$X*Qis+qHf&E8EiEk-ls$TlP-NS3R$}5?&b)0@IJI$Cl|@Udz0@`AFJb15ts( zc&s%7kAaB`OsU7xw_JA!El{kDhp5}Wa$RfFl^SelzDR&xyDj~i-0D`8t9%Al3nH`n zT{F!$hJE{-YY4)_e(;3JP= zsWfdL;o~Icaav$b7xG85(`Ve~&5GJ>D^GfCv`+;lTe4gAIKeY*&zIRS@8)G-g|=RAm+m?#tZJz1SPOOQs!v@t)ZG+_v`PY* z5s9zTVEqLW&XDJsk-?B<2Ig||>W=PuQ6+d+wZqfwIIcMwq>w9l=2+HM&$s2OqkI0; z!3}&))62eyaGDqnf43rfqyX+5s9@(f1-szb9j4V3Pj2u6n9cuznS5an>HOI}Wb(y5 z9Q!S>KF)Oxajqt@OGI1X%L_>3B2G}7r0d72h`RB8Q$RzaP*7KLYj?!GlGy}Rqdaf~z z>kM`kr*Q*0++xx-Ea5&IqRw>#5BU8a4cL^oXw#wX&-gB&WIar5pOUA1dz)#`Vi$LC rmy|4^jC;h160?AHN-=tCQm&JhdHg`s`z+%bzI#B4e<$>%i}}re2`rg+ literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/display/CheckeredBackgroundDisplay.java b/02 Recursion/06 NQueens/edu/kzoo/grid/display/CheckeredBackgroundDisplay.java new file mode 100644 index 0000000..4066651 --- /dev/null +++ b/02 Recursion/06 NQueens/edu/kzoo/grid/display/CheckeredBackgroundDisplay.java @@ -0,0 +1,92 @@ +// Class: CheckeredBackgroundDisplay +// +// Author: Joel Booth +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +package edu.kzoo.grid.display; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Insets; + +import edu.kzoo.grid.Grid; + +/** + * Grid Display Package:
+ * + * The GridBackgroundDisplay interface specifies the + * method that must be provided by any class used to display + * a Grid background. + * + * @author Joel Booth + * @version Sep 1, 2004 + **/ +public class CheckeredBackgroundDisplay implements GridBackgroundDisplay +{ + private ScrollableGridDisplay overallDisplay; + private Color upperLeftColor; + private Color otherColor; + + /** Constructs a background display that draws a checkered background + * for a grid, using the specified colors. + * @param enclosingDisplay the overall grid display for which this + * object will draw the background + * @param upperLeftColor color to display in upper-left corner + * and every other cell after that + * @param otherColor the alternate color + **/ + public CheckeredBackgroundDisplay(ScrollableGridDisplay enclosingDisplay, + Color upperLeftColor, Color otherColor) + { + this.overallDisplay = enclosingDisplay; + this.upperLeftColor = upperLeftColor; + this.otherColor = otherColor; + } + + /* (non-Javadoc) + * @see edu.kzoo.grid.display.GridBackgroundDisplay#drawBackground(java.awt.Graphics2D) + */ + public void drawBackground(Graphics2D g2) + { + // Fill the background with one of the two colors. + overallDisplay.fillBackground(g2, otherColor); + + // Fill in the checkerboard pattern with the other color. + Insets insets = overallDisplay.getInsets(); + + int leftSide; + int topSide; + + Grid grid = overallDisplay.grid(); + for (int row = 0; row < grid.numRows(); row++) + { + for (int col = 0; col < grid.numCols(); col++) + { + // Calculate upper left corner of the cell to draw. + leftSide = overallDisplay.colToXCoord(col); + topSide = overallDisplay.rowToYCoord(row); + + // Put the other checkered color in the top-left cell and + // every other cell whose row and column are both even or + // both odd. + if ( (col % 2) == (row % 2 ) ) + { + g2.setColor(upperLeftColor); + g2.fillRect(leftSide, topSide, + overallDisplay.innerCellSize(), + overallDisplay.innerCellSize()); + } + } + } + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/display/ColorBlockDisplay.class b/02 Recursion/06 NQueens/edu/kzoo/grid/display/ColorBlockDisplay.class new file mode 100644 index 0000000000000000000000000000000000000000..f66844f713d4d0455d18ade385dfd9e4e68d1610 GIT binary patch literal 2326 zcmai0+jkR19R8-wrG#oBEtgbfB*aE3k)KUw!oBG?G&~i zyKbTGS=B<-YPW3t$HKg8yWS1kHMYvZP7*@kWMam8{h|C+#HHn%1a zn|G_`Fyct05W|qb$cp8dcRI}t(_7UyY*Qe;;!?_*?pgA=w;A&r7H!O}?5+0=BTH0O z_4G#qi`iXwmgwDQ8=I!#msU3Qhk8MOAW&h{W@#8{jHYl9V*+tQQaOaf^g5KKa7i2$*hf*fO~2t* z1!l7mQ5D~_oO+%7U@9S^zZ7HR`;Ms6 z@8`IpHG=wvU62VYF#h(IL@x~XB1S&sEo@E#1N9lEd3YAage`A~(p6^=I2cK^pjq^e zWe;LA3ni%D$;6C} zsbc&$7{$bMOszjhZaqD{jdPh;7c=SeU0m#`A0J*7u3T3iWyPw4~j{sRb|X+r=2 literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/display/ColorBlockDisplay.java b/02 Recursion/06 NQueens/edu/kzoo/grid/display/ColorBlockDisplay.java new file mode 100644 index 0000000..1f1da2a --- /dev/null +++ b/02 Recursion/06 NQueens/edu/kzoo/grid/display/ColorBlockDisplay.java @@ -0,0 +1,76 @@ +// Class: ColorBlockDisplay +// +// Author: Alyce Brady +// Modified: 21 March 2004: Modified to handle any class that has +// a color method, not just ColorBlock objects. +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +package edu.kzoo.grid.display; + +import edu.kzoo.grid.GridObject; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics2D; +import java.awt.geom.Rectangle2D; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +/** + * Grid Display Package:
+ * + * A ColorBlockDisplay object displays a + * ColorBlock object, or any object with a + * color method, as a color block in a grid. + * + * @author Alyce Brady + * @version 21 March 2004 + **/ +public class ColorBlockDisplay extends ScaledDisplay +{ + + /** Draw the given object as a block of color. + * (Precondition: obj has a color method.) + * @param obj object we want to draw + * @param comp component on which to draw + * @param g2 drawing surface + **/ + public void draw(GridObject obj, Component comp, Graphics2D g2) + { + // Get the color of the object. + Class objClass = obj.getClass(); + Color objColor; + try + { + Method colorMethod = objClass.getMethod("color", new Class[0]); + objColor = (Color)colorMethod.invoke(obj, new Object[0]); + } + catch (NoSuchMethodException e) + { throw new IllegalArgumentException("Cannot get color for object of " + + objClass + " class; cannot invoke color method."); } + catch (InvocationTargetException e) + { throw new IllegalArgumentException("Cannot get color for object of " + + objClass + " class; exception thrown in color method."); } + catch (IllegalAccessException e) + { throw new IllegalArgumentException("Cannot get color for object of " + + objClass + " class; cannot access color method."); } + + // Draw a 1 x 1 rectangle centered around (0, 0). Temporarily + // scale up first. + float scaleFactor = 10; + g2.scale(1.0/scaleFactor, 1.0/scaleFactor); + g2.setPaint(objColor); + g2.fill(new Rectangle2D.Double(-5, -5, 10, 10)); + g2.scale(scaleFactor, scaleFactor); + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplay.class b/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplay.class new file mode 100644 index 0000000000000000000000000000000000000000..43b9cfdae8c6d83188e18bcea4343df3dc54647c GIT binary patch literal 498 zcmZ{fPfx-?5XIlL<&TJ>MLBpQF$PRzj~+03km#k+1BCmQu641tq_jr;RC+S;;0N$S z8E1inU~mufGCS|L`{w)S^9wdk&>$SDAQum>Ng~2j2O`kZNhDuHPu<|MI_@;^s`jQA)|Cr#t!FA z{4wF+f0$6|CwV$jSK7p`uV(0&m(hg9Yno$$%+_2>+zD1%`S*VT)aq|^ literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplay.java b/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplay.java new file mode 100644 index 0000000..ed18ee0 --- /dev/null +++ b/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplay.java @@ -0,0 +1,43 @@ +// Class: DefaultDisplay +// +// Modified: 15 September 2004: Most functionality moved to the TextDisplay +// class. +// +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +package edu.kzoo.grid.display; + +import edu.kzoo.grid.GridObject; + +/** + * Grid Display Package:
+ * + * A DefaultDisplay draws a centered question-mark. + * A DefaultDisplay object is used to display any + * grid object that doesn't have a specialized display object. + * The association between a particular GridObject + * subclass and its display object is handled in the + * DisplayMap class. + * + * @author Alyce Brady + * @version 15 September 2004 + * @see DisplayMap + **/ +public class DefaultDisplay extends TextDisplay +{ + + /** Gets the text string to draw. + */ + protected String getText(GridObject obj) + { + return "?"; + } + +} diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplayFactory.class b/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplayFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..4668acf61779dfda6e5bc7b0cd15b7d262d3f104 GIT binary patch literal 2859 zcmb7G+jA3j6#lkNvS}J<8=#nCMW8^MmIkYGX$vTnmOyB$!D2v#ZL&$XO_PvppalgH z5brl;bU+=(8I?Dtz)XsE%JAfa|A6m4I_jI__#%G4-EEW5b{uA>+27?{zH`2F&i3bj zf4qlEY{C@@Eov+u7(Ja%2NGE=7KmxNOj4N$bgOYCpVYg}ZI2Sw)7c3bl7!k3<)jiw zDyc-Ee`rLF>M|-NR1YaR)l!ns99r0FFI|{Qmf=nbZlM{@$K%?#nv<~XXsGBQtY@`U zfsm6fPst63Rb2>lMUz@e(|1a!^feDku?cpsvK784cTtQR%@{ zOdao!lPh1aIp{_&_PJ1xAX&)ehjK=bNT~M(g9{=)fRGSBD2Q52qF+c1(8$9P?`Ger zSs5=fH7Av1UKKbtltw;Vi6!Xgl643#3B!Y;skXQf#>+HgwZ0QaSRzU$qo!Egt)(XC zlDRONPB&h`tHRuCY|O@z#+FjYbvN=Du7-}2>}^^fm*86%S(pPsjRnV)glaJ%xr61kjv3TPDm{;dBQ{S%IAZra9*#IXPlO|~=gDxy=~)}T zgQjV0p!~)=Xs+zM0ncqT-$qkIdjXpcUxd`a&Ao3P{CZrNaD;Ld0s95mq5(1OKyOa8&mj=XTd~bBvYj|hBTa@0z;+wUCwXT^Xad+~ z=n6|!9HE_-Mmyiat&={Vzl-jNwZbJHo!E;WOMkbiU$KOQ3KIX3LjHsP+O`7r?`*8N z4v)XGv4FmiztMKQfENz7{DkNxwf%ro67HkEqfB#xE`?D6ufs8o zGZC+23a@v_Ub%obufpM#Cxz|>3D+LXNRv#!I&|~7gkw0*=Mpa9TRxYp^pBu{2}*O9 zVNIW4jb~XjI#zP@ti}Yj&ytRFv~Zs3y+|vUF^+e*dyker!I$`y)~?`te2$y=0=IA# zGq{Fdc=Id1!f*H*fAIWoTsO!%&4MH$c-ttC3Z7r)it`SC(dsthsK%domjzWxzg6_o z!@FZF_xE{gqi^%fPW!XBH`xLo;6vWdu<%9U+3CL?A93X%ifVjJr2IdZSVh@=_8&eR B!Cn9W literal 0 HcmV?d00001 diff --git a/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplayFactory.java b/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplayFactory.java new file mode 100644 index 0000000..07df4d5 --- /dev/null +++ b/02 Recursion/06 NQueens/edu/kzoo/grid/display/DefaultDisplayFactory.java @@ -0,0 +1,162 @@ +// Class: DefaultDisplayFactory +// +// Author: Alyce Brady +// +// Created on Mar 1, 2005 +// +// License Information: +// This class is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation. +// +// This class is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +package edu.kzoo.grid.display; + +import java.util.HashSet; +import java.util.Iterator; + +/** + * Grid Display Package:
+ * + * The DefaultDisplayFactory class contains methods + * that provide a suitable default display for a given class. + * + * @author Alyce Brady + * @version Mar 1, 2005 + **/ +public class DefaultDisplayFactory +{ + private static GridObjectDisplay baseDefault = new DefaultDisplay(); + private static String baseSuffixes[] = {"gif", "GIF", + "jpg", "jpeg", "JPG", "JPEG"}; + private static HashSet suffixes = new HashSet(); + + static + { + for ( int i = 0; i < baseSuffixes.length; i++ ) + suffixes.add(baseSuffixes[i]); + } + + /** Adds the specified suffix to the list of image suffixes to look for. + * @param suffix image suffix (e.g., "tiff") + */ + public static void addSuffix(String suffix) + { + suffixes.add(suffix); + } + + /** Returns a DefaultDisplay object. + **/ + public static GridObjectDisplay getDefaultDisplay() + { + return baseDefault; + } + + /** Returns a default display specific to the given class if there + * is one. In the following detailed description of which + * display object is returned, assume that ClassName + * is the base class name passed in as a parameter and package + * is the name of the package in which that class resides. The + * returned display is: + *

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 TOiWhbA6d}T3)9>Ne)oR>q}e*| literal 0 HcmV?d00001 diff --git a/02 Recursion/00 Recursion Intro/Oberle PowerPoint/9_Recursion.pptx b/02 Recursion/00 Recursion Intro/Oberle PowerPoint/9_Recursion.pptx new file mode 100644 index 0000000000000000000000000000000000000000..e08075ade778e1b75d526f441df93e37b6421c3f GIT binary patch literal 156510 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 literal 0 HcmV?d00001 diff --git a/02 Recursion/00 Recursion Intro/Recursion Exercises.docx b/02 Recursion/00 Recursion Intro/Recursion Exercises.docx new file mode 100644 index 0000000000000000000000000000000000000000..971f195756c064623bc674f038ab3cbab0529c74 GIT binary patch literal 42805 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 literal 0 HcmV?d00001 diff --git a/02 Recursion/00 Recursion Intro/Recursion Notes.doc b/02 Recursion/00 Recursion Intro/Recursion Notes.doc new file mode 100644 index 0000000000000000000000000000000000000000..534d816cbcd2abf75698d5ac0253041d2b9ba023 GIT binary patch literal 51712 zcmeHQ2S8NE);>!|Ku{37UJ(@)DT<2NC>Bse>|%oj7Fb+%ad%O$L~OCQ7>zMLV~Hgi zyC&AB#+Xc4Qjm~{%l@n z53EE~8}Vksc82{A*j(%ypkoEQCTuouVtXUr*l429kuan)(KNW*BfX&tOeWtL`A~@~ zVa9B%NVEn1Ts}6&ct)G)ni?ZLqiw9WF%G-$p#%)c8|CGS=FWQC2=;Ab;#b&AhfPu2sEh9CNEHfHpQHCT5*3+XjK%d&l*yDrrk=Pg+1|dLJW-{T zCMC%QjZ7_i4?wVJb0W@RKI2b3X6sz}OGNVSkmidvN+ zmMK#$8!T64p@2hFhNuvOo>NREKioh@&4q)yFx$A$T-RhdG>5qkf96?=Tp{DS8~t;H zB$ZMtl`A!ZOb()Imas996RFhtG*F1P1_dw%n@!uG`1IYhs!U->8u-PkohF5jtCWfy z1AT}Z`k1AaYS9WrwM;B=K2`K<)ar@ehdiAL}L25bxnCykUUA1k*Sbr zW%l-3wG6xvC7P&~Dxuw=4((Kd6o(npi!l^3X^N=uMFkFyD!61)r67d_po5wuX{P8S zWJrg~3JE+@o-I?rI|q6rNR!j0NvsA?Q7KwFb6h>cjO7u26<5rA!PHMWW*RAeop|u+Sw7twO`iA`uPB#XeIZP2$`Fg+Uww9ZTZI zn3AP{_zPuijM-2hQ&T9anNo1IW%ATCtx2VshFFjkRv+$eLq+}Ovm6M{E%9fss4L_tZ+vS^2bu0qM&HZ)g#w%klvWgD>k zkkY4@>^*QsY-8x?q=`I+h(iGPF=`AATpNWH64#*8kchEU*H=d09w0K5(MZ;pGf~Pk z=%dWl(lA1yQD?}sX{u!C6lW;|1Cpc~Xfd=|%Isj4C#jOb7j%1QjF6GoHHkevRDvt+ z5@uvmK0S^uHPF^qCBNsAa`&kan~^XJdf5PF%ry4j?<14UoPuEvJ^RR-!_l1dV~><_}$hkDUAMy7msjt4yF^Z$IocaSEpow6|vu zd5Vv+Wy`?2g1tlG92#Qm%P)mbU|oH5PNJ4!FjfkI%|!z2^IFqTpIWAXI0`aqR49vv z1z8w!;PJYk2t07VNtX8ZBVJpcmm}C`W4tfOtWn*UqBKF1j8SRjNqUWvr!)|&1EtXG zGTIwN9R|I4Su@3UA=mn%3x%@ExsR1Y>hdJHR*~apN|qH%>>5~WWy)l+%}U=$%c9X8 zh|?JEb9j1$j-U|jL^KPrZTK3R3ZxI!MFZtIh;a~r+GEUw!g2}nr-5j&s!WZa*o+J6 z$E8J=sg))T6tXhKHjg0}JsEe_h9L$_=^;+Gco4>POGs6zlDYHCr|m0Xu+tY^iyqX_ zVnxy*$|H|{g2p`vIuC^gB)h|*k1S2ZFd%5sR6{fZE<&Rk1`X8+O)v|TNL;L4Tx?tn zR~HvYM@&=m&0l|}{{K`$JiR#rrGTD5FQ7Lt9+&~ta3t~q>H!S^KcF$t3}^wg1VVwf zKs=BD3~<3ckXD*V2@C>80&cEEWq~Sy7tkHZ0Nw*;0rP+rz^A}^;L)}7#}6O;^5C|E z+cx5&$J&F353W79V&O-y4^PUOl=El#B9u#;TKga5nKs$#M~dj+L7h9;P#0hTAcdRq zW32b`HXp-LpSrQbDA#gnFG7|WsKM=Q>LxqSwDej{u`XCHZD#46hFF9&mmK^JuE=^4 zxQ|3kETDl@TsBV4C7?2%VjiF#(V+^8ScU0vh#|a6xipV(ceqAZS%>oaqDI!Jku{=X zp(a06Uz@_AwRx$ssO+!9?*{M?r~r9Z1O$U@pPI6}c*jqs(TaE6HH}utkx*<%p=dM_ z3!KRu*V9{4-dhrtg0%;-nxi1wQx$A*Zw?Np0?6up-46R7yvfc7l`LZH{0vK*1^%V9 zL{}v4NQhS)O!G}`k6)~N)+*OTQvMffFq1EpPH~RBG_9*#a9gF|wras`&?!5T*dmd5 zQ_5OFQYMjkiWdw;60q~{aE%G}CIYVm6ehu(Wy5E$qYn;6!f!7cKJV zk;B;jS>`rCbwKk<`Txb6`%9WxjQoe=6{e;A=gXgEt_6kyTmKj2Um5c!i~RHD&obWz zoCgx{7O(jE-`}bK=ia_>`{&uO*#B>{$ltX8XPHZZLBOF`%KyKl|Bu7Nkfr_Sw||!T zx4=c<642e{ReeAq9Vp~@Y54t*dlYW}`SZVL7WtdBe;bx}4}jO~76HZg{~7;riT=3) z6eIr+Y%T5IWd6@GUkoe(JPm8Lu2_5JwOZr4EU(2D(u+Z+lIZtljzVdQcXTtQmVf`U zEU_c9RBdu<=R_`F+e^|Uk}6hqu4AiMl^Hwt#Q@j|uv3%86e02%^~fVMy;FbEh13CK$e4qg7jggYx}0@5!?8J!8BF=y9O?y*|!l`>rZJ@%aA9p=JQZy`u4)4d;za5 z1Ha%f$={phZz_9Jx&LCy+c~C=LLr45O^S_%fOuYj3Bww6(FQ24$frpn%igF#c2}S_ zMU35i6tl3=ugGJ0eYjv;UVrPA^%Ig}SJs*7`tqMN(}Daw%KvgNislDq7uT)}33iSt z`wN8>ax^J68UjT5SH$a&zq9;T|84cxocy`}F0S7$B-lB{3bs(R*USIW-(3FV{Or{_&)3(frr2&;3wc`ppeiD>BdY`MHyZKM;e9c?BS(z#}DiO4j%sUi;cW{ga6JI z$mhTK4)e-YS)DP9E|k*vspT5chwquG)ae)i~>97v_-&-|txu zdorxkwOFz#m$tLhbkO9`7Q9EqgCps8vRJ3{%iZE*ROGhI@_h=J%J)rVYiAyG*h>#nq{v2LNQ7f^FXu#NYOqgJ)n5tUyTYE@y~Q7dP-|Gw<7l)NYhuo2E= zcf*+G^KOQPx8KAhGZu5uTSZ)2mo zx79s8vwQb$-BEYli8{J7&2^U(5z@7bE<0N{WwP$$1-gCvbh^BCy2oGH+UR`i>vTVV zrF(Wp_Ygk&bay7|^49Clozv~wrCYyVw`7TK{CHhXj_!1G-IYY$kt4c|8+FT;>E?c* z`|2y*isia_^K?_D=mur#5)*Z+SLc>AIL0 zU0A4Y&K%v)p}LF=-GF%AQIC&5)_uKCmor2+d9qG-XOiyr#GGu7-nFaFx1O$keO>R( zo=v!}Ng1)R9U?L^1DXalw30~dCT;UL41X(a*O+cPy7@&w2e?K@wF&E9VRru`EuBU~ zda>0{%uTv-{OAb}mv-%1x2{nyb6|SNe-S8I9=!QN*GgkL&L4f; z;r7~{5wYK%e(xV=Z*3mAu+PQhgSytP=Qr2$PFQN|iPBJ1+n6?M!V^Zn1JM?zs+(xj z8>=e6c{Zx5m5Hj>gTGA}bPcMCr`|%U8jhR;DTo@2SGl8R zac%p#xlx|Szxe2V9j$~vtLzpmz!+6_G45W9X+~u^iL(`}Z2iicw6F@PtR1T?^p%58 zFIonxh_K1}`k`a+CJ76hLT{Z(fx|{i-RQ+Jmhe;oIp!m*9q z=X;B>a6r$27q%W$7MiS)xDsA$8H^2o7A68)LU0CH@h~L#f3rC6f2S!taK1k0KO3JZ z8hQJA>i;`28e-N^0oC1&Zt*B^1<2zr68*XxAOHbCC=d%I0GU88Faszq9n+4wUr!ed-t`8a0S@421)wMJ4ln~)2&@Bk1H3|<3tR#60D>Id009U9LIF$I zzmG2-$SOWkVv`Z+h}}w#HX1++z?(ve5+3QSU_0aGfZo_q45ssHOzWkjfESCf0yZaA z5UEIEGbK|hhJ*&I4TUBAq+5iUmNT?PZ#?0WQ3@z#fu@!Oip9MeNENS{lm@?c$XAI_ zHeE>``dGISb^#S<>W&nNpddr+!lkT2;y1SWU&`ixJ1c%NYeo3LfqZD7@Uw0YYz%n@ zV=vMXD4OJWjN!bk#B&_^6vKJ6ksib58Qa9j4Y-ynRD$*>yIg$eYDytJU8w{g2qQOs zgbAYRp%Su^1d+2%8REAwn0Hbn>L~?%8S=p+502(^`PzZ3BFoP379YQw&