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 process, In Windows, Thread is a unit of implementation. Process is...

In Windows, Thread is a unit of implementation. Process is the environment in which thread implements. Scheduler, schedules the Threads not the process. In Unix variants, Thread is

Decoding of slightly encoded micro-instructions, Q. Decoding of slightly en...

Q. Decoding of slightly encoded micro-instructions? Generally micro-programmed control unit designs are neither totally unencoded nor highly encoded. They are slightly coded. T

Show example of copy command, Q. Show example of COPY command? This COP...

Q. Show example of COPY command? This COPY command copies the REPORT file from the drive C to the disk in drive A. after copying the file in drive A, it will name the new file

What is presentation layer, Q. What is Presentation layer? Presentatio...

Q. What is Presentation layer? Presentation layer: When two hosts are communicating with each other they might use different coding standards and character sets for represent

Name the widely used language processor development tool, Name the widely u...

Name the widely used Language Processor Development Tools ( LPDTs). Widely used Language processor development tools are: Lex - A Lexical Analyzer Generator Lex assi

Microprocessor, can i get the comparison of microprocessors architecture?

can i get the comparison of microprocessors architecture?

What are the concerns for growth of e-commerce in india, What are the conce...

What are the concerns for growth of e-commerce in India? Government as Facilitator for the growth of e-commerce has taken following steps: a. Promotion of competitive dataco

Where traffic intensity can be measured, Traffic Intensity can be measured ...

Traffic Intensity can be measured in (A)  Erlangs                                    (B) CCS (C)  CM                                         (D) All of the above Ans:

8086 microprocessor, In SDK – 86 kit 128KB SRAM and 64KB EPROM is provided ...

In SDK – 86 kit 128KB SRAM and 64KB EPROM is provided on system and provision for expansion of another 128KB SRAM is given. The on system SRAM address starts from 00000H and that

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