logo

Бинарна претрага у Јави

Бинарна претрага се користи за претрагу кључног елемента из више елемената. Бинарна претрага је бржа од линеарне.

сабирач пун сабирач

У случају бинарног претраживања, елементи низа морају бити у растућем редоследу. Ако имате несортирани низ, можете га сортирати помоћу Низови.сорт(арр) методом.

Пример бинарног претраживања у Јави

Хајде да видимо пример бинарне претраге у Јави.

 class BinarySearchExample{ public static void binarySearch(int arr[], int first, int last, int key){ int mid = (first + last)/2; while( first <= last ){ if ( arr[mid] system.out.println('element is not found!'); } public static void main(string args[]){ int arr[]="{10,20,30,40,50};" key="30;" binarysearch(arr,0,last,key); < pre> <span> Test it Now </span> <p>Output:</p> <pre> Element is found at index: 2 </pre> <h2>Binary Search Example in Java using Recursion</h2> <p>Let&apos;s see an example of binary search in java where we are going to search an element from an array using recursion.</p> <pre> class BinarySearchExample1{ public static int binarySearch(int arr[], int first, int last, int key){ if (last&gt;=first){ int mid = first + (last - first)/2; if (arr[mid] == key){ return mid; } if (arr[mid] &gt; key){ return binarySearch(arr, first, mid-1, key);//search in left subarray }else{ return binarySearch(arr, mid+1, last, key);//search in right subarray } } return -1; } public static void main(String args[]){ int arr[] = {10,20,30,40,50}; int key = 30; int last=arr.length-1; int result = binarySearch(arr,0,last,key); if (result == -1) System.out.println(&apos;Element is not found!&apos;); else System.out.println(&apos;Element is found at index: &apos;+result); } } </pre> <span> Test it Now </span> <p>Output:</p> <pre> Element is found at index: 2 </pre> <h2>Binary Search Example in Java using Arrays.binarySearch()</h2> <pre> import java.util.Arrays; class BinarySearchExample2{ public static void main(String args[]){ int arr[] = {10,20,30,40,50}; int key = 30; int result = Arrays.binarySearch(arr,key); if (result <0) system.out.println('element is not found!'); else found at index: '+result); } < pre> <span> Test it Now </span> <p>Output:</p> <pre> Element is found at index: 2 </pre></0)></pre></=>

Пример бинарног претраживања у Јави користећи рекурзију

Хајде да видимо пример бинарне претраге у Јави где ћемо претраживати елемент из низа користећи рекурзију.

 class BinarySearchExample1{ public static int binarySearch(int arr[], int first, int last, int key){ if (last&gt;=first){ int mid = first + (last - first)/2; if (arr[mid] == key){ return mid; } if (arr[mid] &gt; key){ return binarySearch(arr, first, mid-1, key);//search in left subarray }else{ return binarySearch(arr, mid+1, last, key);//search in right subarray } } return -1; } public static void main(String args[]){ int arr[] = {10,20,30,40,50}; int key = 30; int last=arr.length-1; int result = binarySearch(arr,0,last,key); if (result == -1) System.out.println(&apos;Element is not found!&apos;); else System.out.println(&apos;Element is found at index: &apos;+result); } } 
Тестирајте одмах

Излаз:

 Element is found at index: 2 

Пример бинарне претраге у Јави користећи Арраис.бинариСеарцх()

 import java.util.Arrays; class BinarySearchExample2{ public static void main(String args[]){ int arr[] = {10,20,30,40,50}; int key = 30; int result = Arrays.binarySearch(arr,key); if (result <0) system.out.println(\'element is not found!\'); else found at index: \'+result); } < pre> <span> Test it Now </span> <p>Output:</p> <pre> Element is found at index: 2 </pre></0)>