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 microprocessor, Microprocessor is a program-controlled device, whic...

Microprocessor is a program-controlled device, which fetches the instructions from memory, decodes and implements the instructions. Most Micro Processor is single- chip devices.

Concept development journal, The Concept Development journal must contain: ...

The Concept Development journal must contain: An introductory paragraph detailing what conclusions you have drawn from your research and how you intend to proceed. This should b

Explain jk flip-flop using sr flip-flop, Q. Explain 4 bit Ripple counter wi...

Q. Explain 4 bit Ripple counter with necessary diagram. Q. Explain JK Master-slave Flip-flop with block diagram and logic design. Q. Explain JK flip-flop using SR flip-flop

Explain about iframe, Q. Explain about IFRAME? is an HTML 4.0 addition...

Q. Explain about IFRAME? is an HTML 4.0 addition to frames toolbox. Presently only MSIE supports . Unlike frames created employing and

Determine signed binary number, -8 is equal to which signed binary number ?...

-8 is equal to which signed binary number ? Ans. 10001000 is the signed binary number that equal to - 8.   To show negative numbers in the binary system, Digit 1 is utilized fo

Write statement, Rounding off of values can be carried out using the write ...

Rounding off of values can be carried out using the write statement. Yes, Rounding off value can be out by using the write statement.

Characteristics of a computer memory systems, Question: a) Describe wha...

Question: a) Describe what is meant by a "bus". There are two types of bus, dedicated and multiplexed. Give a brief description of both types of buses. b) Briefly explain f

What is random access memory, What is Random access memory (RAM) This i...

What is Random access memory (RAM) This is a volatile memory (i.e. contents are lost when computer is switched off). A user can write or delete data and read the contents. Befo

Why we need to construct state transition diagram, Why we need to construct...

Why we need to construct state transition diagram Basically you need to construct a state transition diagram for each object with important behaviour. You need not construct on

Program level-parallelism based on granularity size, Program Level : It ...

Program Level : It is the next level consisting of independent programs for parallelism. Coarse Granularity  size is used at this level containing ten thousands of instructions.

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