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

Communication between memory and the processor, How are instructions sent b...

How are instructions sent between memory and the processor? Both the instruction pointer (IP) and program counter (PC) utilized to holds the memory address of the next inst

Define the difference between union and structure, Define the difference be...

Define the difference between union and structure The main difference between union and structure is the storage allocation. In Union , for each variable the compiler allocates

Explain the different page replacement policies, Explain the different page...

Explain the different page replacement policies. Various page replacement algorithms are briefly explained below: 1. First-in, first-out FIFO page replacement algorith

IEEE802.4 Token Bus Network, en a five station token bus LAN with station a...

en a five station token bus LAN with station addresses of 3000, 500, 100, 70, and 50. Stations with addresses of 5000, 4000, 400, 90, and 60 are waiting to enter the ring. Assume a

Mclr, 10 k Ohm pulls up on MCLR so that the ICD can force 0, +5, +13 volts ...

10 k Ohm pulls up on MCLR so that the ICD can force 0, +5, +13 volts on this pin. RB6 and RB7 used for PGC and PGD respectively between target and ICD2 module. Some of the requi

How to input to circuit, Q. How to input to circuit? Register A bit...

Q. How to input to circuit? Register A bits as a0, a1, a2 and a3 in the corresponding X bits of the Full Adder (FA). Register B bits as given in the Figure above as in

Advantages offered by data mining, Advantages offered by Data Mining: 1...

Advantages offered by Data Mining: 1.  Facilitates discovery of knowledge from big, massive data sets. 2.  Can be used within dissimilar application areas by Fraud detection

What are the main advantages of sound, Problem: (a) What are the two m...

Problem: (a) What are the two main advantages of sound? (b) UTMDigitlab ltd, specialized in digitizing sound, converts an audio stream of the latest album of Britney Spea

Probabilistic hough transformation, The probabilistic Hough transform uses ...

The probabilistic Hough transform uses random sampling instead of an accumulator array. In this approach the number of random samples r, is not specified in the OpenCV call, but

What is the purpose of the enableevents() method, The enableEvents() method...

The enableEvents() method is used to enable an event for a certain object. Normally, an event is enabled when a listener is added to an object for a certain event. The enableEvents

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