Binary search, Computer Engineering

Assignment Help:

Binary Search

Now that the basic framework is working, it is time to begin implementing a few alternative search functions. Each of these search algorithms have strengths and weaknesses, depending on the distribution of the input and the search keys used. The classic solution to this problem is binary search. Binary search is a divide-and-conquer algorithm. See Levitin [2007] pp 162 for a detailed description of this algorithm.

ALGORITHM BinarySearch (A[0 . . . n - 1], k)
// Non-recursive binary search in an ordered list.
// INPUT : An array A[0 . . . n - 1] of ordered elements, and a search key k.
// OUTPUT : an index to the position of k in A if k is found or -1 otherwise.
1: l ← 0; r ← n - 1
2: while l ≤ r do
3: m ← ⌊(l + r)/2⌋
4: if A[m] = k then
5: return m
6: else if k < A[m] then
7: r ← m- 1
8: else

9: l ← m+ 1

10: return -1

Algorithm BinarySearch shows the pseudocode for this solution. Implement the algorithm.


Related Discussions:- Binary search

Explain about hybrid model, Q. Explain about Hybrid model? Hybrid model...

Q. Explain about Hybrid model? Hybrid models are normally tailor-made models suiting to particular applications. In fact these fall in category of mixed models. These type of a

BCD ADDER, create a BCD adder combinational ckt. that adds 2 digit BCD inpu...

create a BCD adder combinational ckt. that adds 2 digit BCD inputs

What is php, The PHP Hypertext Pre processor is a programming language that...

The PHP Hypertext Pre processor is a programming language that permits web developers to make dynamic content that interacts with databases. PHP is basically used for developing we

How many bits are required for a ladder d/a converter, How many bits are re...

How many bits are required at the input of a ladder D/A converter, if it is required to give a resolution of 5mV and if the full scale output is +5V. Find the %age resolution.

Performance evaluation-parallel computing, Performance Evaluation In th...

Performance Evaluation In this part, we talk about the primary attributes used to measure the performance of a computer system. Unit 2 of block 3 is totally devoted to performa

What are the different layers of tcp/ip protocol stack, What are the differ...

What are the different layers of TCP/IP protocol stack? Layers in the TCP/IP protocol architecture are:- o  Application Layer o   Host-to-Host Transport Layer,  o  Net

Define the don''t care states - simplifying k maps, Define the Don't Care S...

Define the Don't Care States - Simplifying K Maps? The Truth table specifications for a logic function may not to include all possible combinations of the input binary digits for

Basic need of search engines, Q. Basic need of Search Engines? Search E...

Q. Basic need of Search Engines? Search Engines are programs which search the web. Web is a big graph with pages being the nodes and hyperlinks being the arcs. Search engines c

Define optimistic synchronization, Q. Define Optimistic Synchronization? ...

Q. Define Optimistic Synchronization? Optimistic Synchronization: This method too updates atom by requester process however sole access is granted after atomic operation by abo

Explain about different types of mice, Q. Explain about different types of ...

Q. Explain about different types of Mice? Mice can be classified on the foundation of numbers of buttons, position sensing technology or type of Interface:  Sensing Technol

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd