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

Explain disadvantage of optimal page replacement algorithm, Explain Disadva...

Explain Disadvantage of Optimal Page Replacement Algorithm Optimal page replacement algorithm cannot be implemented in the general purpose operating system as it is impossible

What is the network service access policy, What is the Network Service Acce...

What is the Network Service Access Policy A high-level, issue-specific policy which defines those services that are allowed or denied from the restricted network. It also co

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

Illustrate working of synchronous counters, Q. Illustrate working of Synchr...

Q. Illustrate working of Synchronous Counters? The main drawback of ripple counter is delay in changing the value. How? To understand this let's take a case when state of rippl

Explain loop level of parallel processing, Loop Level At this stage, fo...

Loop Level At this stage, following loop iterations are candidates for parallel execution. Though, data dependencies among subsequent iterations can restrict parallel execution

Optimal number of disks , John Lindsay sells disks that have 25 software pa...

John Lindsay sells disks that have 25 software packages that show a variety of financial functions, including net present value, internal rate of return, and other financial progra

What does wsdl stand for, What does WSDL stand for?  WSDL stands for We...

What does WSDL stand for?  WSDL stands for Web Services Description Language.  It is an XML representation of the web service interface. There are two parts of the operation

Which gates are called universal gates, Q. What is Gate? Explain Basic gat...

Q. What is Gate? Explain Basic gates with truth table and necessary circuits. Q. Which gates are called Universal Gates? Why? Q. Give the Dual of the rule 17. Q. Realize

Non repudiation, What is non-repudiation? how can it be achieved in designi...

What is non-repudiation? how can it be achieved in designing e-cash based system?

Associative array processing, Associative Array Processing Consider tha...

Associative Array Processing Consider that a list of record or a table is stored in the memory and you want to search some information in that list. For example, the list havin

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