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

What are the different between hypertext hypermedia, What are the different...

What are the different between hypertext hypermedia? Hypertext is fundamentally the same like regular text; this can be stored, read or searched and edited along with a signifi

Equivalence between vhdl and c, Equivalence between VHDL and C? There i...

Equivalence between VHDL and C? There is concept of understanding in C there is structure.Based upon requirement structure provide facility to store collection of various data

Computer representation for the negative integer, Everything stored on a co...

Everything stored on a computer can be represented as a string of bits. However, different types of data (for example, characters and numbers) may be represented by the same string

Interactive computer graphics.., graphical adapters and input methods in co...

graphical adapters and input methods in computer graphics

Show the ranges of port numbers, Q. Show the ranges of Port numbers? P...

Q. Show the ranges of Port numbers? Port numbers are divided into three ranges: Well-known ports are those from 0 through 1,023. Registered ports are those from

Fetching a word from memory - computer architecture, Fetching a word from m...

Fetching a word from memory: CPU transfers the address of the needed information word to the memory address register (MAR). Address of the needed word is transferred to the pr

How transmission bridges help in satisfying the connectivity, How do tra...

How do transmission bridges help in satisfying the connectivity? A usual transmission bridge is demonstrated in figure. The series capacitance and the shunt inductances of

What are the differences between one hot and binary encoding, What are the ...

What are the differences between one hot and binary encoding? Common classifications used to explain the state encoding of an FSM is Binary or highly encoded and one hot. A bin

What are the features of abap/4 dictionary, What are the features of ABAP/4...

What are the features of ABAP/4 Dictionary? The most significant features are: Integrated to aABAP/4 Development Workbench. Active in the runtime environment.

How would you implement inheritance using vb.net/c#, How would you implemen...

How would you implement inheritance using VB.NET/C#? When we set out to execute a class using inheritance, we must first start with an existing class from which we will derive

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