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 an expression tree with a suitable example, What is an expression t...

What is an expression tree? How an expression is evaluated using an expression tree? Algebraic expressions is as given here a/b+(c-d)e That has an inherent tree-like structure

How steps of instruction execution can be broken down, Q. How steps of inst...

Q. How steps of instruction execution can be broken down? Let's explain how these steps of instruction execution can be broken down to micro-operations. To make easier this dis

What is an compiled languages, What is an compiled languages In compile...

What is an compiled languages In compiled languages the instructions into machine code and kept them  in a separate file for later implementation. Many modern compilers can com

Interval b/w time of submission and completion of the job, Interval between...

Interval between the time of submission and completion of the job is? Ans. Turnaround time is the interval in between the time of submission and completion  of the job.

Very long instruction word architecture, Superscalar architecture was desig...

Superscalar architecture was designed to increase the speed of the scalar processor. But it has been realized it's not easy to apply. Subsequent are a number of problems faced in t

Cookies, basic purpose of cookies

basic purpose of cookies

Determine the octal equivalent of decimal number, The octal equivalent of (...

The octal equivalent of (247) 10 is ? Ans. (247) 10 = (367) 8

Define rotational latency and disk bandwidth, Define rotational latency and...

Define rotational latency and disk bandwidth. Rotational latency is the additional time waiting for the disk to rotate the desired sector to the disk head. The disk bandwidth i

How can i pass parameters to my simulation, How can I pass parameters to my...

How can I pass parameters to my simulation? A  test  bench  and  simulation  would likely  need  many  different  parameters  and  settings  for  various sorts of tests and con

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