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

Differentiate between the serial port and parallel port, Question: (a) ...

Question: (a) Provide types of computer systems and briefly describe each one. (b) With the help of example, explain the difference between open source software, freeware a

Explain i/o buffer and advantage of buffering, What is an I/O buffer? What ...

What is an I/O buffer? What is the advantage of buffering? Is buffering always effective? Justify your answer with help of an example.   One type of I/O requirement arises from

How many address bits are needed to show a 32 K memory, How many address bi...

How many address bits are required to represent a 32 K memory ? Ans. 32K = 25 x 210 = 215, Hence 15 address bits are needed; Only 16 bits can address this.

Indian standard code for information interchange, The ISCII is an 8-bit cod...

The ISCII is an 8-bit code which contains standard ASCII values till 127 from 128-225 it contains characters necessary in ten Brahmi-based Indian scripts. It is defined in IS 13194

Diffrentiate between non-relocatable & relocatable programs, How non-reloca...

How non-relocatable programs are different from relocatable programs? Non relocatable program: It is one that cannot be made to execute in any type of area of storage other t

Relational algebra expressions , Write Relational algebra expressions for t...

Write Relational algebra expressions for the given queries. (i) List the employee numbers, employee names and their manager numbers working in several branches who earn more than

What is the main difference between asp and asp.net, What is the Main diffe...

What is the Main difference between ASP and ASP.NET ?   ASP contains scripts which are not compiled while in ASP.net the code is compiled.

Explain batch operating systems, Explain Batch operating systems. Batc...

Explain Batch operating systems. Batch operating systems : A batch is a sequence of jobs. Such batch is submitted to batch processing operating systems moreover output would s

Arrays of any size, Modify your program so that the line "int numStones = u...

Modify your program so that the line "int numStones = ui.readStones();" in the Game constructor is considered. Depending on the value of numStones read from the user, you should cr

How the simulation is done, How the simulation is done Data is entered ...

How the simulation is done Data is entered into the computer and simulation is run. The below scenarios may be tried out: -  Timing of lights varied to see how traffic flow

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