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

Problem specification - logic programs, Problem Specification : Hence ...

Problem Specification : Hence given the above context for "ILP" there we can state the learning problem as follows: that we are given a set of positive and a set of negative e

What is a convertor?, Converter is an application that converts distance me...

Converter is an application that converts distance measurements among metric and U.S units.

Determine the level of state decomposition, Determine the level of state de...

Determine the level of state decomposition The level of state decomposition must be determined by judgement. A too fine grained model is unsuitable, such as, modelling all poss

Explain sequential sharing, Explain Sequential Sharing In this sharing ...

Explain Sequential Sharing In this sharing method, a file can be shared by just one program at a time, i.e. file accesses by P1 and P2 are spaced out over time. A lock field ca

Differentiate between raid 0 and raid 1, Problem 1 a) Give three reaso...

Problem 1 a) Give three reasons why connecting peripherals directly to the system bus are not a good practice. b) Name five categories in which the major functions on requ

Pebble merchant, c programming code for pebble merchant

c programming code for pebble merchant

Micro-programmed control, Q. MICRO-PROGRAMMED CONTROL? A substitute to ...

Q. MICRO-PROGRAMMED CONTROL? A substitute to a hardwired control unit is a micro-programmed control unit in which logic of the control unit is specified by a micro-program. A m

What is debate - architecture, What is Debate Debate took place in the ...

What is Debate Debate took place in the 1980s and first half of the 1990s. It was resolved as RISC the winner since it allows more efficient pipelining, results in simpler hard

Introduction to computers, explain classification of computers in detail.al...

explain classification of computers in detail.also explain various application areas of computers

What is bus arbitration, Q. What is Bus arbitration? In this technique,...

Q. What is Bus arbitration? In this technique, I/O interface first needs to control bus and only after that it can request for an interrupt. In this technique because only one

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