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

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 manufacturing of your new

WHAT ARE NEURAL NETWORKS? | Comingfly

WHAT ARE NEURAL NETWORKS ? Neural Networks the process of machine learning are neural networks. These are brain-inspired networks of interconnected layers of algorithms, called neurons, that feed data into each other, and which can be trained to carry out specific tasks by modifying the importance attributed to input data as it passes between the layers. During training of these neural networks, the weights attached to different inputs will continue to be varied until the output from the neural network is very close to what is desired, at which point the network will have 'learned' how to carry out a particular task. A subset of machine learning is deep learning, where neural networks are expanded into sprawling networks with a huge number of layers that are trained using massive amounts of data. It is these deep neural networks that have fueled the current leap forward in the ability of computers to carry out task like speech recognition and computer vision. T he

Happiness is luck | Comingfly

 ** How to Always Choose Happiness.   1. Determine What Happiness Means to You “The greatest discovery of any generation is that a human can alter his life by altering his attitude.” 2. Understand How Happiness Works for You “Happiness is not a feeling it’s an action. In order to feel happy you have to do happy.” 3. Choose to Be Around the Right People “The people you surround yourself with influence your behaviors, so choose friends who have healthy habits.”    4. Commit to Helping Others “The purpose of life is not to be happy. It is to be useful, to be honorable, to be compassionate, to have it make some difference that you have lived and lived well.” 5. Choose to Take Care of You – Mind Body and Spirit “Self-care is a deliberate choice to gift yourself with people, places, things, events, and opportunities that recharge our personal battery and promote whole health—body, mind, and spirit.”  

body-fitness Important of life | Comingfly

body-fitness Important of life In general, a strong candidate for the "best" title will be any easy-to-learn exercise that targets multiple muscle groups and gives you the practical strength and muscle tone to meet your fitness goals. Exercises that don't require fancy, expensive equipment earn extra credit. Here are seven of the best exercises for athletes and fitness junkies looking for a simple and effective full-body workout.

why we use Numpy in python

  why we use NumPy in python NumPy  is a general-purpose array-processing package. It provides a high-performance multidimensional array object and tools for working with these arrays. It is the fundamental package for scientific computing with  Python .  A powerful N-dimensional array object. Syntex:-   import  numpy arr = numpy.array([ 1 ,  2 ,  3 ,  4 ,  5 ]) print (arr)     Output:-   [1 2 3 4 5] NumPy  is a basic level external library in Python  used  for complex mathematical operations.  NumPy  overcomes slower executions with the  use  of multi-dimensional array objects. It has built-in functions for manipulating arrays. We can convert different algorithms to can into functions for applying on arrays.   NumPy  arrays are faster and more compact than Python lists. An array consumes less memory and is convenient to  use .  NumPy uses  much less memory to store data and it provides a mechanism of specifying the data types.