Skip to main content

Binary Search in Data Structure

 

Binary Search in Data Structure


There are various ways to search a particular element from a given list. One of them is Binary search.
When there exists so much data everywhere, it is very necessary to have a good searching method to search for the particular data in lesser time.

Binary search works faster than linear search. It is one of the fastest searching algorithms.

What is Binary Search?

It is a searching technique. It is based upon Divide and conquer strategy. Binary search is applicable only on sorted data. It takes O(log n) time for completion.

It divides the given array into halves and then checks the middle element. If the middle element is smaller than the element to be searched, the algorithm selects the second half of the array and discards the first half.

Thus, at every step, the binary search algorithm keeps on discarding half of the array based on the value of the middle element. This process continues until the array becomes of the size 1 or 2 and the algorithm finally gets the required element.

If the search is successful i.e. the element is present in the array, it returns the index of that element. If the element is not present inside the array, the algorithm returns -1.

Working of Binary Search


Suppose we wish to search 38 in the array.

Step 1: Find the middle element of the array.

index(Middle) = index(low) + index(high – low)/2.

Here, middle = 0 + (9-0)/2 = 4 i.e. the element at the 4th index i.e. 25.



Step 2: Compare 38 with the middle element. 38 > 25 So, discard the first half.

Step 3: Select the send half of the array. For the second half, low = middle+1 as shown:




Step 4: Find the middle element of this smaller array which comes out to 32. Compare 38 with 32.


38 > 32 Thus, discard the first half of this array.

Step 5: Select the remaining half of the array by doing low = middle+1 as shown:



Finally, we have found 38 and thus the algorithm will halt here.

Output:  8.



Comments

Popular posts from this blog

Difference between loc() and iloc() in Pandas DataFrame

  Difference between loc() and iloc() in Pandas DataFrame Pandas library of python is very useful for the manipulation of mathematical data and is widely used in the field of machine learning. It comprises many methods for its proper functioning.  loc()  and  iloc()  are one of those methods. These are used in slicing data from the Pandas DataFrame. They help in the convenient selection of data from the DataFrame. They are used in filtering the data according to some conditions. The working of both of these methods is explained in the sample dataset of cars. loc()  :  loc()  is label-based data selecting method which means that we have to pass the name of the row or column which we want to select. This method includes the last element of the range passed in it, unlike  iloc() .  loc()   can accept the boolean data unlike  iloc()  .  iloc() :  iloc( )  is an indexed-based selecting method which means that we ...

Best digital marketing in Perth

Best digital marketing in Perth Introduction Your introduction into the brave new world of the digital space will be custom-tailored to your business needs requirements. You will be introduced to the crew who will be handling your project, from inception to the launch into the market. Assess It will be our job to not only know your customers but how they engage with the core products and  brand relationships . From here we break down what we research, to identify the core elements needed to engage the customer. Create It’s imperative that the design of your vessel is done right from the start. Its shape, level of focus, and attention to detail are crucial for a prosperous, lucrative, and extended journey. We will always present concepts and suggestions as per the requirement, but we truly believe this process should be a collaborative one between the creative crew of the PWD and the client. The final form will dictate its progression into the  development  and manufacturi...

Introduction to Transfer Learning

  Introduction to Transfer Learning We, humans, are very perfect in applying the transfer of knowledge between tasks. This means that whenever we encounter a new problem or a task, we recognize it and apply our relevant knowledge from our previous learning experiences. This makes our work easy and fast to finish. For instance, if you know how to ride a bicycle and if you are asked to ride a motorbike which you have never done before. In such a case, our experience with a bicycle will come into play and handle tasks like balancing the bike, steering, etc. This will make things easier compared to a complete beginner. Such leanings are very useful in real life as it makes us more perfect and allows us to earn more experience. Following the same approach, a term was introduced  Transfer Learning  in the field of machine learning. This approach involves the use of knowledge that was learned in some task, and apply it to solve the problem in the related target task. While most ...

What is Copywriting? A Comprehensive Guide

  What is Copywriting? A Comprehensive Guide Introduction to Copywriting Copywriting is the art and science of crafting persuasive and compelling messages to promote a product, service, or idea. It's a vital component of marketing and advertising that can significantly impact a company's success. Whether through website content, social media posts, emails, advertisements, or any other medium, effective copywriting can capture attention, build trust, and drive action. The Importance of Copywriting In today's digital age, where consumers are bombarded with information from all directions, having clear and engaging copy is more critical than ever. Good copywriting can differentiate a brand, communicate its value proposition, and create a lasting impression on the audience. It’s not just about selling a product but also about building relationships and fostering loyalty. Historical Context Copywriting has evolved significantly since its inception. In the early days of print med...

What is ChatGPT AI?

  ChatGPT AI ChatGPT is a language model developed by OpenAI. It is a conversational AI model that can answer questions and generate text based on the input it receives. It was trained on a massive amount of text data and can generate human-like responses to various questions. ChatGPT is commonly used in customer service, virtual assistants, and chatbots. Benefits of ChatGPT AI Natural language processing: ChatGPT utilizes advanced NLP algorithms to understand human language, making conversations more human-like and natural. Easy access to information: ChatGPT can provide answers to a wide range of questions, making it an ideal tool for customers who are looking for quick answers. Improved customer experience: With ChatGPT, customers can get answers to their questions instantly, reducing the waiting time and improving their overall experience. 24/7 availability: ChatGPT is available 24/7, which means that customers can get answers to their questions at any time of the day, even out...