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

Exponential search, Exponential Search Another alternative to variable ...

Exponential Search Another alternative to variable size decrease-and-conquer search is known as exponential search. This algorithm begins searching at the beginning of the list

How many select lines will have a 16 to 1 multiplexer, How many select line...

How many select lines will a 16 to 1 multiplexer will have ?   Ans. For 16 to 1 MUX four select lines will be needed to select 16 (2 4 ) inputs.

Minimax algorithm - artificial intelligence, Minimax algorithm - artificial...

Minimax algorithm - artificial intelligence: The minimax algorithm is so called because it assumes that you and your opponent are going to act rationally, so that if you will

Explain the main tags of wireless markup language, Discuss the main tags of...

Discuss the main tags of WML. Tag Definition of Wireless Markup Language: This defines the starting and the ending of the page, as .   this explains

Define immediate addressing mode with example, Q. Define Immediate Addressi...

Q. Define Immediate Addressing Mode with example? Immediate Addressing Mode An immediate operand can be a constant expression like a character, a number or an arithmetic e

Why is green screen more popular for compositing, Question: (a) Explain...

Question: (a) Explain clearly, from pre-production to post production how you would carry out the scene with multi-camera. (b) What are the there main aspects that should be

Garbage collector to free the memory, In .NET Compact Framework, can I free...

In .NET Compact Framework, can I free memory explicitly without waiting for garbage collector to free the memory?  Yes you can clear the memory using gc.collect method but it i

Define relocation bits utilized by relocating loader, Relocation bits used ...

Relocation bits used by relocating loader are specified by? Ans. Relocation bits utilized by relocating loader are identified by Assembler or Translator.

What is busy hour traffic, Busy hour traffic is the (A)  maximum avera...

Busy hour traffic is the (A)  maximum average simultaneous traffic. (B)  traffic during peak hour. (C)  traffic when all subscribers are engaged. (D)  the durat

What is hypercube network, Q. What is Hypercube Network? The hypercube ...

Q. What is Hypercube Network? The hypercube architecture has played a significant role in development of parallel processing and is quite influential and popular. The highly sy

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