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

Give brief description about arithmetic processing unit, Give brief descrip...

Give brief description about arithmetic processing unit To execute the arithmetic operations there is a separate section known as arithmetic processing unit in CPU. The arithme

Show the advantages of joint application development, Q. Show the advantage...

Q. Show the advantages of Joint Application Development? The following are the numerous advantages of Joint Application Development: Actively includes management and use

What is microcomputer system, Q. What is microcomputer system? The micr...

Q. What is microcomputer system? The microcomputer has a single microprocessor and a number of RAM and ROM chips as well as an interface unit which communicates with several ex

Inter suffer buffer and execute an instruction, What are the basic steps ne...

What are the basic steps needed to execute an instruction by the processor? Ans: The basic steps needed to execute an instruction by the processor are: A)    First fetch th

How can one decide this decimal position, Q. How can one decide this decima...

Q. How can one decide this decimal position? Decimal position can be signified by a position between flip-flops (storage cells in computer). However how can one decide this dec

Subtraction of 01000-01001 using 2's complement method, Subtraction of 0100...

Subtraction of 01000-01001 using 2's complement method. Ans. Firstly 1's complement of 01001 is 10110 and 2's complement is 10110+ 1 =10111. Thus   01000 =  01000 - 01001

., advantages and disadvantages of a header node

advantages and disadvantages of a header node

What is assembly language, What is assembly language? Assembly languag...

What is assembly language? Assembly language : It is a family of low-level language for microprocessors, programming computers, microcontrollers etc. All are implement a symbo

Number system, Number systems   Consider a decimal number:         ...

Number systems   Consider a decimal number:               7654.32   Short hand for:            7 * 103 + 6*102 + 5* 101 + 4*100 + 3*10 -1  + 2*10 -2   Likewise

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