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

Embedded software, Embedded Software Intelligent products have becom...

Embedded Software Intelligent products have become commonplace for all consumer and industrial market. Embedded software stays in read only memory and is utilised to control

Define clock rate, Define clock rate? The clock rate is given by, R=1/P...

Define clock rate? The clock rate is given by, R=1/P, where P is the length of single clock cycle.

Explain inheritance, Can you explain what inheritance is and an example of ...

Can you explain what inheritance is and an example of when you might use it? The process of deriving a new class from an existing class is known as Inheritance. The old class i

What is double entry - verification, What is Double entry - Verification ...

What is Double entry - Verification In this approach, data is entered twice (using two different people); data is only accepted if both versions match up. Generally used to ve

Expert systems, An expert systems is software that contains a knowledge ...

An expert systems is software that contains a knowledge base of facts and relationships and has the ability to make inferences based on that knowledge base. An experts sys

Background, Background, Examples and Hypothesis: Now we will switch of...

Background, Examples and Hypothesis: Now we will switch off with three logic programs. So very firstly, we will have the logic program representing a set of positive examples

Define interrupts and instruction cycle, Q. Define Interrupts and Instructi...

Q. Define Interrupts and Instruction Cycle? Let's precise the interrupt process, on the event of an interrupt, an interrupt request (in form of a signal) is concerned to CPU. T

Qwerty - keyboard layout, Q. QWERTY - Keyboard Layout ? A keyboard layo...

Q. QWERTY - Keyboard Layout ? A keyboard layout is arrangement of keys across the keyboard. There is one keyboard layout which anybody who has worked on a standard keyboard or

Illustrate about fat structure, Q. Illustrate about FAT structure? DOS ...

Q. Illustrate about FAT structure? DOS file system maintains a table of pointers known as FAT (File allocation table) that comprises an array of 16-bit values. There is one ent

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