DEV Community

Cover image for Array Searching Techniques - Linear Search & Binary Search
Rahul Raj
Rahul Raj

Posted on • Edited on

Array Searching Techniques - Linear Search & Binary Search

Linear Search :

  • Linear Search is a searching technique in which we try to search an element either from Starting index to last index or last index to Starting Index and traverse the entire Array.
  • Here , Array may be either Sorted or not sorted.
  • Time complicity = O(n).

class Main {
    public static void main(String[] args) {

        int [] a = {4 , 7 , 1 , 5 , 9 ,0};
        int searchingElement = 9;
        boolean isFound=false;
        int indexValue=-1;
        for(int i=0;i<a.length;i++){
            if(a[i]==searchingElement){
                isFound=true ; 
                indexValue=i;

            }
        }
        if(isFound==true){
          System.out.println(searchingElement+" is present at index "+indexValue);  
        }
        else{
            System.out.println(searchingElement+" is not present in given Array .");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

OUTPUT

9 is present at index 4
Enter fullscreen mode Exit fullscreen mode

Binary Search

  • Binary Search is a searching technique in which we try to search a particular element in a sorted array by repeatedly dividing the search space into two halves.
  • mid = (start + end)/2;
  • Here Array must be sorted either increasing or decreasing Order .
// this code  for sorted array in increasing Order 
class Main {
    public static void main(String[] args) {

        int [] a = {1,2,3,4,5,6,7,8,9};
        int searchingElement = 1;
        boolean isFound=false;
        int indexValue=-1;
        int startIndex=0;
        int lastIndex=a.length-1;
        while( startIndex<=lastIndex){
            int mid = (startIndex+lastIndex)/2;

            if(a[mid]==searchingElement){
                isFound=true;
                indexValue=mid;
                break;
            }
            else if(a[mid] < searchingElement){
               startIndex=mid+1; 
            }
            else{
                lastIndex=mid-1;
            }
        }



        if(isFound==true){
          System.out.println(searchingElement+" is present at index "+indexValue);  
        }
        else{
            System.out.println(searchingElement+" is not present in given Array .");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Output

1 is present at index 0
Enter fullscreen mode Exit fullscreen mode

Image

Top comments (0)