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 is the difference between proc. sent by val and by ref, What is the di...

What is the difference between proc. sent BY VAL and By Ref? BY VAL: Alters will not be reflected back to the variable. By REF: Alters will be reflected back to that variab

Illustration to demonstrate design of sequential circuits, Q. Illustration ...

Q. Illustration to demonstrate design of sequential circuits? Let us take an illustration to demonstrate above process. Suppose we want to design 2-bit binary counter employing

What is redefines clause, Redefines clause is used to permit the similar st...

Redefines clause is used to permit the similar storage allocation to be referenced by dissimilar data names.

Paging, specification of paging ram size is 12 frames

specification of paging ram size is 12 frames

Explain latex in matlab, Matlab already handles naturally easy LaTeX encodi...

Matlab already handles naturally easy LaTeX encodings that permit introducing Greek lettters or modifying the font size and appearance in plots.

Logical functions, Logical functions   We have discussed the If, 'While...

Logical functions   We have discussed the If, 'While and For' Statements, and have used expressions within our syntax i.e.           If ( expression)           Statement 1;

What is cache coherency, Cache coherence refers to the integrity of data st...

Cache coherence refers to the integrity of data stored in local caches of a shared resource. Cache coherence is a special case of memory coherence. When clients in a system, mainly

What are benefits and advantages of linq, Benefits and benefits of LINQ are...

Benefits and benefits of LINQ are: 1. Makes it simpler to transform data into objects. 2. A common syntax for all data. 3. Strongly typed code. 4. Provider integration.

Explain the working of a two input EX-OR gate, With relevant logic diagram ...

With relevant logic diagram and truth table explain the working of a two input EX-OR gate. Ans. 2-Input EX-OR Gate: An EX-OR or Exclusive gate recognizes words that have an od

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