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

Open system interconnection networking model, Q. Open System Interconnectio...

Q. Open System Interconnection Networking Model? An open system is a model which allows any two different systems to communicate regardless of their underlying architecture. Th

Explain advantages and disadvantages of a active document, Explain advantag...

Explain advantages and disadvantages of a active document. The advantage of an active document over a dynamic document lies in its capability to update the information contin

Explain types of assembly programs, Q. Explain types of assembly programs? ...

Q. Explain types of assembly programs? Assembly language programs can be written in two manners: COM Program: Having all segments as part of one segment EXE Program: that hav

How do stubs work in a weblogic server cluster, Clients that join to a WebL...

Clients that join to a WebLogic Server cluster and look up a clustered object get a replica-aware stub for the object. This stub haves the list of available server instances that h

Page translation table, Make a page translation table the meets the require...

Make a page translation table the meets the requirements of the virtual memory system given below.  Suppose page (and frame) sizes of 20 with pages 0 by 3 in logical memory and fra

What is charge-coupled devices, Q. What is Charge-coupled Devices? CCDs...

Q. What is Charge-coupled Devices? CCDs are employed for storing information. They have arrays of cells that can hold charge packets of electron. A word is signified by a set o

Explain the term- wireless technologyand broadband, Explain the term- Wirel...

Explain the term- Wireless Technologyand Broadband Wireless Technology (WiFi) and Broadband Most areas in the world now provide broadband instead of dial up for connectin

Prove, state and prove distributive law?

state and prove distributive law?

Difference between depth first and breadth first traversing, Explain the di...

Explain the difference between depth first and breadth first traversing techniques of a graph.   Depth-first search is dissimilar from Breadth-first search in the following way

Explain the action-object matrix, Explain the Action-object matrix A...

Explain the Action-object matrix A matrix showing how update actions influence objects.  It may be considered to be part of user object model as it summarizes user object ac

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