Skip to content
This repository has been archived by the owner on Jul 10, 2024. It is now read-only.

Implement Binary Search #5192

Open
harshraj8843 opened this issue Jan 12, 2024 · 2 comments
Open

Implement Binary Search #5192

harshraj8843 opened this issue Jan 12, 2024 · 2 comments
Labels
auto-track Good First Issue Tracker program

Comments

@harshraj8843
Copy link
Contributor

harshraj8843 commented Jan 12, 2024

Description

Write a program to implement binary search

Binary search is a fast search algorithm with run-time complexity of Ο(log n). This search algorithm works on the principle of divide and conquer. For this algorithm to work properly, the data collection should be in the sorted form.

Binary search looks for a particular item by comparing the middle most item of the collection. If a match occurs, then the index of item is returned. If the middle item is greater than the item, then the item is searched in the sub-array to the left of the middle item. Otherwise, the item is searched for in the sub-array to the right of the middle item. This process continues on the sub-array as well until the size of the subarray reduces to zero.

Pseudocode

procedure binary_search
   A ← sorted array
   n ← size of array
   x ← value to be searched

   Set lowerBound = 1
   Set upperBound = n

   while x not found
      if upperBound < lowerBound
         EXIT: x does not exists.
   
      set midPoint = lowerBound + ( upperBound - lowerBound ) / 2
      
      if A[midPoint] < x
         set lowerBound = midPoint + 1
         
      if A[midPoint] > x
         set upperBound = midPoint - 1 

      if A[midPoint] = x 
         EXIT: x found at location midPoint
   end while
   
end procedure

Example

list = [1,2,3,4,5]
value = 4

Output : 3
### Tracking Issues
- [ ] #5194
- [ ] #5195
- [ ] #5196
- [ ] #5197
- [ ] #5198
- [ ] #5199
- [ ] #5200
- [ ] #5201
- [ ] #5202
- [ ] #5203
- [ ] #5204
- [ ] #5205
- [ ] #5206
- [ ] #5207
- [ ] #5208
- [ ] #5209
- [ ] #5210
- [ ] #5211
- [ ] #5212
- [ ] #5213
@harshraj8843 harshraj8843 added the auto-track Good First Issue Tracker label Jan 12, 2024
@codinasion-bot
Copy link

👋🏻 Hey @harshraj8843

💖 Thanks for opening this issue 💖

A team member should be by to give feedback soon.

@codinasion-bot codinasion-bot bot added the triage Waiting for review label Jan 12, 2024
@harshraj8843 harshraj8843 added program and removed triage Waiting for review labels Jan 12, 2024
@vherak
Copy link

vherak commented Jul 9, 2024

!assign

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-track Good First Issue Tracker program
Projects
None yet
Development

No branches or pull requests

2 participants