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

Appropriate name for the superclass, Suppose that your team is then asked t...

Suppose that your team is then asked to expand the system. The publisher now wishes to make other computer science publications. As a team member, you are asked to make a class tha

Adding momentum - sigmoid units, Adding Momentum - Sigmoid units: Howe...

Adding Momentum - Sigmoid units: However imagine a ball rolling down a hill as it does so then it gains momentum in which its speed increases and it becomes more difficult to

Discuss the csma/cd and csma/ca protocols, Discuss the CSMA/CD and CSMA/CA ...

Discuss the CSMA/CD and CSMA/CA protocols. CSMA/CD: this is an access method used mainly with LANs configured in a bus topology. Along with CSMA/CD, any station (node) can se

Fundamental functional units of a computer, Fundamental functional units of...

Fundamental functional units of a computer: QUE. What are the fundamental functional units of a computer? Ans: A computer consists of 5 functionally independent major parts

What is software interrupt, What is software interrupt?   A software in...

What is software interrupt?   A software interrupt is initiated by implementing an instruction.  Software interrupt is a special call instruction that behaves like an interrupt

Characteristics of input- output channels, Q. Characteristics of input- out...

Q. Characteristics of input- output channels? The I/O channel represents an extension of DMA concept. An I/O channel has ability to execute I/O instructions that gives complete

Sql requirements in the sap development system, Which interface converts SQ...

Which interface converts SQL requirements in the SAP development system to those of the database? Database Interface converts SQL in the SAP.

How is recursion handled internally, How is recursion handled internally? ...

How is recursion handled internally? Internally, every recursive call to a function requires storing the intermediate values of the parameters and local variables in a run time

Paging, specification of paging ram size is 12 frames

specification of paging ram size is 12 frames

Is the data bus is bi-directional, The data bus is Bi-directional because t...

The data bus is Bi-directional because the similar bus is used for transfer of data among Micro Processor and memory or input / output devices in both the direction.

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