Binary Search Algorithm: Function, Benefits, Time & Space Complexity
A binary search is an advanced type of search algorithm that finds and fetches data from a sorted list of items. Binary search is commonly known as a half-interval search or a logarithmic search It works by dividing the array into half on every iteration under the required element is found. 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 .
The two may appear in what is a binary search algorithm search with different functions. The difference is that the former is equivalent to the closed interval at both ends [left, right] The latter is equivalent to the left closed right open interval [left, right Because the index size is nums.
We use the former in this algorithm [left, right] An interval closed at both ends. When should the while loop end? Therefore, it is correct to terminate the while loop at this time. Just return — 1.
That is to say, this range [2, 2] It is missed, index 2 is not searched, and if — 1 is returned directly at this time, it is an error. We already know the cause of the error, so we need to patch it.
PS: first what is a binary search algorithm all, there is a difference between the left and right boundary search and the above algorithm, which is also asked by many readers Just now right no nums. Because this writing method is relatively common for searching the left and right boundary binary search, I will take this writing method as an how to apply plaster to walls to ensure that you can understand this kind of code in the future.
You can patiently look back. For this array, the algorithm returns 1. The meaning of this 1 can be interpreted as follows: nums There is one element less than 2. To sum up, we can see that the return value of the function i. You can do whatever you want. Here we modify it strictly according to the logic:. Because you have to close both ends of the search interval, so right Should be initialized to nums. Because the search interval is closed at both ends, and now it is the left boundary of the search left and right The update logic of is as follows:.
You have to reflect the characteristics of the right side and go back right - 1 okay. As for why one should be reduced, this is a special point of searching the right boundary. When target Smaller than all elements, right Will be reduced to — 1, so you need to prevent crossing at the end:. When analyzing binary search code, do not appear else, expand all into else if for easy understanding. If there are missing elements, remember to check at the end.
The video recorded in this series is mainly on station BRust necromancer learning video Rust necromancer related source information ingithub. What is a binary search algorithm provides ways to handle uninitialized memory, both secure and insecure. Tags: algorithmboundaryCross the borderIndexesSection.
How to use Redux gracefully in react project Is the obscure cap completely correct? Vue3 how to do a flower arrangement code entry, to achieve a simple version of reactivity About getting the return value of promise!
Pre: Integration implementation and principle analysis of mybatis framework in 05 springboot project.
Nov 10, · Binary Search Algorithm is one of the widely used searching techniques. It can be used to sort arrays. This searching technique follows the divide and conquer strategy. The search space always reduces to half in every iteration. The two may appear in binary search with different functions. The difference is that the former is equivalent to the closed interval at both ends [left, right] The latter is equivalent to the left closed right open interval [left, right) Because the index size is likeloveall.com It’s cross-border. Sep 17, · A binary search algorithm is a widely used algorithm in the computational domain. It is a fat and accurate search algorithm that can work well on both big and small datasets. A binary search algorithm is a simple and reliable algorithm to implement. With time and space analysis, the benefits of using this particular technique are evident.
In any computational system, the search is one of the most critical functionalities to develop. Search techniques are used in file retrievals, indexing, and many other applications.
There are many search techniques available. One of which is the binary search technique. A binary search algorithm works on the idea of neglecting half of the list on every iteration.
It keeps on splitting the list until it finds the value it is looking for in a given list. A binary search algorithm is a quick upgrade to a simple linear search algorithm. No Coding Experience Required. The first thing to note is that a binary search algorithm always works on a sorted list. Hence the first logical step is to sort the list provided. After sorting, the median of the list is checked with the desired value. Let us look at the algorithm with an example. Assume there is a list with the following numbers:.
Let us take the desired value as The total number of elements in the list is 9. The first step is to sort the list. After sorting, the list would look something like this:. As the number of elements in the list is nine, the central index would be at five. The value at index five is 8. The desired value, 27, is compared with the value 8. First, check whether the value is equal to 8 or not. If yes, return index and exit.
The new list to traverse is:. Note: In practice, the list is not truncated. Only the observation is narrowed. Although it could be implemented with a new list, there are two problems. First, there will be a memory overhead. Each new list will increase the space complexity. And second, the original indexes need to be tracked on each iteration. The new central index can be taken as the second or third element, depending on the implementation.
Here, we will consider the third element as central. The value 23 is compared with value As the value is greater than the central value, we will discard the left half. As the list contains only a single element, it is considered to be the central element. Hence, we compare the desired value with As they match, we return the index value of 27 in the original list.
In the same list, let us assume the desired value to be 2. First, the central value eight is compared with 2. Let us take the central element as the second element. The desired value two is compared with 3. As the traversing list has only one element, the value is directly compared to the remaining element. We see that the values do not match. Hence, we break out of the loop with an error message: v alue not found.
The time complexity of the binary search algorithm is O log n. The best-case time complexity would be O 1 when the central index would directly match the desired value. The worst-case scenario could be the values at either extremity of the list or values not in the list. The space complexity of the binary search algorithm depends on the implementation of the algorithm. There are two ways of implementing it:. Both methods are quite the same, with two differences in implementation.
First, there is no loop in the recursive method. Second, rather than passing the new values to the next iteration of the loop, it passes them to the next recursion. In the iterative method, the iterations can be controlled through the looping conditions, while in the recursive method, the maximum and minimum are used as the boundary condition.
In the iterative method, the space complexity would be O 1. While in the recursive method, the space complexity would be O log n.
A binary search algorithm is a widely used algorithm in the computational domain. It is a fat and accurate search algorithm that can work well on both big and small datasets. A binary search algorithm is a simple and reliable algorithm to implement. With time and space analysis, the benefits of using this particular technique are evident.
Data Science. Table of Contents. Leave a comment. Cancel reply Your email address will not be published. Comment Name Email Website.
Our Trending Data Science Courses. Accelerate Your Career with upGrad. Our Popular Data Science Course. Related Articles. Register for a Demo Course. Talk to our Counselor to find a best course suitable to your Career Growth. Programs Data Science Management Technology.