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

Difference between the testing and verification, Difference between the tes...

Difference between the testing and verification. Verification proves conformance with a specification. Testing tries to find cases where the system does not meet its specifi

What is shadow ram, Shadow RAM is a copy of Basic Input/Output Operating Sy...

Shadow RAM is a copy of Basic Input/Output Operating System (BIOS) routines from read-only memory (ROM) into a particular area of random access memory (RAM) so that they can be acc

DoDAF OV-2 for a green datacenter, How do I create a DoDAF OV-2 for the con...

How do I create a DoDAF OV-2 for the construction of a green data center?

What do you mean by directives, Q What do you mean by Directives? Assem...

Q What do you mean by Directives? Assembly languages support numerous statements. This allows you to control the way in which a source program assembles and list. These stateme

What are the two types of branch prediction techniques, What are the two ty...

What are the two types of branch prediction techniques available?  The two types of branch prediction methods are  1) Static branch prediction  2) Dynamic branch predicti

Direct mapped cache - computer architecture, Direct Mapping: In this p...

Direct Mapping: In this particular technique, block j of the primary memory maps onto block j modulo 128 of the cache. The primary memory blocks 0,128,256,...is loaded

Eight-stage process - conjunctive normal forms, Eight-stage process - Conju...

Eight-stage process - Conjunctive normal forms: Hence we notice the following eight-stage process converts any sentence with CNF as:  1.  Eliminate all arrow connectives by

The voltage of telephone given by telephone companies, Telephone companies ...

Telephone companies normally provide a voltage of to power telephones? Telephone companies usually give a voltage of to power telephones -48 volts DC.

What is locking, What is Locking? When two users at the same time atte...

What is Locking? When two users at the same time attempt to access the similar data record, this is synchronized by a lock mechanism

JAVA, HOW WAS JAVA INVENTED?

HOW WAS JAVA INVENTED?

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