Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

import java.util.Scanner; public class array5j4{ static int[] array=new int[6000

ID: 3830968 • Letter: I

Question

import java.util.Scanner;
public class array5j4{
      static int[] array=new int[6000];
      public static int linearSearch(int number){
         for(int i=0;i<array.length;i++){
            if(array[i]==number){
               return i;
            }
         }
         return -1;
      }
      public static int binarySearch(int number){
         int first=0;
         int last=array.length-1;
         int mid;

         while(first<=last){
           mid=(first+last)/2;
           if(number<array[mid]){
              last=mid-1;
           }
           else if(number>array[mid]){
              first=mid+1;
           }
           else{
              return mid;
           }
         }
         return -1;
      }

      public static void main(String []args){
        Scanner input=new Scanner(System.in);
        for(int i=0;i<array.length;i++)

          array[i]=i;
          int i;
        
          System.out.println("Linear searching number is: ");
          i= input.nextInt();
          long startTime = System.nanoTime();
          int index=linearSearch(i);
          long endTime = System.nanoTime();
          long totalTime = endTime - startTime;
          System.out.println("Found at index "+index+" and took "+totalTime+ " nanoseconds for searching");

          System.out.println(" Binary searching number "+i);
          startTime = System.nanoTime();
          index=binarySearch(i);
          endTime = System.nanoTime();
          totalTime = endTime - startTime;
          System.out.println("Found at index "+index+" and took "+totalTime+ " nanoseconds for searching");
     }
}

Add on a boolean search that will spit out whether or not an item is in the array by saying true or false. Also change this program so that it creates a random array of numbers by using Math.Random. Thank you

Explanation / Answer

Please find my implimentation.

import java.util.Arrays;

import java.util.Scanner;

public class array5j4{

  

   private static int[] getRandomNumbers(int n){

       int[] array=new int[n];

       for(int i=0; i<array.length; i++){

           array[i] = (int )(Math.random() * 100 + 1); // 1-100

       }

       return array;

   }

  

  

   public static boolean linearSearch(int array[], int number){

       for(int i=0;i<array.length;i++){

           if(array[i]==number){

               return true;

           }

       }

       return false;

   }

   public static boolean binarySearch(int array[],int number){

       int first=0;

       int last=array.length-1;

       int mid;

       while(first<=last){

           mid=(first+last)/2;

           if(number<array[mid]){

               last=mid-1;

           }

           else if(number>array[mid]){

               first=mid+1;

           }

           else{

               return true;

           }

       }

       return false;

   }

   public static void main(String []args){

       Scanner input=new Scanner(System.in);

      

       int[] arr = getRandomNumbers(100);

       int i;

       System.out.println("Linear searching number is: ");

       i= input.nextInt();

       long startTime = System.nanoTime();

       boolean statu = linearSearch(arr, arr.length);

       long endTime = System.nanoTime();

       long totalTime = endTime - startTime;

       System.out.println("Is "+i+" available in array ? "+statu);

       System.out.println("It took "+totalTime+ " nanoseconds for searching");

       System.out.println(" Binary searching number "+i);

      

       Arrays.sort(arr); // sorting

      

       startTime = System.nanoTime();

       statu =binarySearch(arr, arr.length);

       endTime = System.nanoTime();

       totalTime = endTime - startTime;

       System.out.println("Is "+i+" available in array ? "+statu);

       System.out.println("It took "+totalTime+ " nanoseconds for searching");

       input.close();

   }

}

/*

Sample run:

Linear searching number is:

5

Is 5 available in array ? true

It took 3401 nanoseconds for searching

Binary searching number 5

Is 5 available in array ? true

It took 6799 nanoseconds for searching

*/