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 polling, What is polling? Polling is a scheme or an algorithm t...

What is polling? Polling is a scheme or an algorithm to recognize the devices interrupting the processor. Polling is employed when multiple devices interrupt the processor by o

Main memory location, Poor Richard's cache as explained in Conference Topic...

Poor Richard's cache as explained in Conference Topic 2. Suppose that a 7th word (gggg gggg) from main memory location 011110 is read and stored in cache. a) Determine the cach

Simple assembly programs, Data Transfer Two most fundamental data trans...

Data Transfer Two most fundamental data transfer instructions in 8086 microprocessor are XCHG and MOV. Let's give illustrations of the use of these instructions. Program 1:

Types of e-commerce , Types E-commerce generally based on advertising, sell...

Types E-commerce generally based on advertising, selling, marketing and buying, but due to the differences in needs, e-commerce has been classified according to the parties of the

What is machine.config, What is Machine.config?  Machine configuration ...

What is Machine.config?  Machine configuration file: The machine. config file contains settings that apply to the whole computer.  The machine.config, which can be found in the

First-order inference rules, First-Order Inference Rules: Here now we ...

First-Order Inference Rules: Here now we have a clear definition of a first-order model is that we can define soundness for first-order inference rules in the same way such we

The height of the left sub tree and height of the right tree, The differenc...

The difference among the height of the left sub tree and height of the right tree, for each node, is almost one.  AVL - tree

Java Programming, How to parse n size depth node in java and create output ...

How to parse n size depth node in java and create output in same tree format?

What are the disadvantages of linux, What are the disadvantages of Linux? ...

What are the disadvantages of Linux? Learning Lack of comparable programs More technical skill required

Rational schema, write the rational schema and draw it’s dependency diagram...

write the rational schema and draw it’s dependency diagram. Identify all dependencies.

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