From d0a47f7b648e6b9e75e811fa3e2b8eb9dbeec835 Mon Sep 17 00:00:00 2001 From: Jonathan Turner Date: Sat, 23 Mar 2024 17:47:02 -0400 Subject: [PATCH] Added headers and fixed the loops/prints. Added Comments. --- src/Assignments/A3/InterpolationSearch.java | 6 ++++++ src/Assignments/A3/TestInterpolationSearch.java | 16 +++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/Assignments/A3/InterpolationSearch.java b/src/Assignments/A3/InterpolationSearch.java index c5727b5..045a05e 100644 --- a/src/Assignments/A3/InterpolationSearch.java +++ b/src/Assignments/A3/InterpolationSearch.java @@ -1,3 +1,9 @@ +// Name: Jonathan Turner +// Class: CS 4306/01 +// Term: Spring 2024 +// Instructor: Dr. Haddad +// Assignment: 3 +// IDE Name: IntelliJ package Assignments.A3; public class InterpolationSearch { diff --git a/src/Assignments/A3/TestInterpolationSearch.java b/src/Assignments/A3/TestInterpolationSearch.java index 9a83bc3..fe1ef8f 100644 --- a/src/Assignments/A3/TestInterpolationSearch.java +++ b/src/Assignments/A3/TestInterpolationSearch.java @@ -1,3 +1,9 @@ +// Name: Jonathan Turner +// Class: CS 4306/01 +// Term: Spring 2024 +// Instructor: Dr. Haddad +// Assignment: 3 +// IDE Name: IntelliJ package Assignments.A3; import java.util.*; @@ -103,14 +109,14 @@ public class TestInterpolationSearch { System.out.println(); } else if (option == 2) { /* Handles the table size */ System.out.println("Enter the table size: "); - System.out.print("Option: "); + System.out.print("Size: "); int size = -1; size = getIntegerInput(); /* Used if the table input is invalid */ while (size < 1) { System.out.println("Enter a valid table size: (size > 0)"); - System.out.print("Option: "); + System.out.print("Size: "); size = getIntegerInput(); } this.tableSize = size; @@ -159,18 +165,22 @@ public class TestInterpolationSearch { } public void runIntSearch() { - System.out.println(this.values.length + " " + this.tableSize); int totalDivisions = 0; Random rand = new Random(); + /* Prints out the table headers */ System.out.println(" " + String.format("%-10s%-10s%-10s%-10s", "Key", "Found", "Index", "Divisions")); System.out.println("----------------------------------------------"); + + /* Prints out each row and performs the Interpolation Search for each value up to the table size. */ for (int i = 0; i < this.tableSize; i++) { int key = rand.nextInt(9999) + 1; InterpolationSearch results = new InterpolationSearch(this.values, key); System.out.println(" " + String.format("%-10s%-10s%-10s%-10s", key, results.isFound(), results.getIndex(), results.getDivisions())); totalDivisions += results.getDivisions(); } + + /* Prints out the average and the difference from the expected average */ double averageDivs = (double) totalDivisions / (double) this.tableSize; System.out.println("\nDivisions average: " + averageDivs); System.out.println("Difference: " + Math.abs(3.322 - averageDivs));