Untitled
unknown
java
2 years ago
2.0 kB
6
Indexable
package Labs.Assignment7; import java.util.*; public class QuestionSevenPointSixteen { public static int linearSearch(int[] numbers, int num) { for (int i = 0; i < numbers.length; i++) { if (num == numbers[i]) { return i; } } return -1; } public static int binarySearch(int[] numbers, int num) { int low = 0; int high = numbers.length - 1; while (high >= low) { int mid = (low + high) / 2; if (num < mid) { high = mid - 1; } else if (num == mid) { return mid; } else { low = mid + 1; } } return -low -1; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int arrayLength = 100000000; int[] numbers = new int[arrayLength]; int nums[] = {25000000,50000000,75000000,100000000}; for(int i = 0; i<arrayLength;i++) { numbers[i] = i+1; } System.out.println(numbers[arrayLength-1]); for(int i = 0; i<nums.length;i++) { int num = nums[i]; long startTime = System.nanoTime(); linearSearch(numbers, num); long endTime = System.nanoTime(); long executionTime = endTime - startTime; System.out.printf("Execution time of invoking the linearSearch for %d in nanoseconds is : %d Nano-Seconds",num,executionTime); System.out.println(); startTime = System.currentTimeMillis(); binarySearch(numbers, num); long endTime2 = System.currentTimeMillis(); long executionTime2 = endTime2 - startTime; System.out.printf("Execution time of invoking the binarySearch for %d in nanoseconds is : %d Nano-Seconds",num,executionTime2); System.out.println(); } } }
Editor is loading...