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

Performance of caches - computer architecture, Performance of caches: ...

Performance of caches:       Amdahl's Law regarding overall speed up:                  Alternatively, CPU stall can be considered:

Target_parent, TARGET = "_parent" "_parent" is used in a situation whe...

TARGET = "_parent" "_parent" is used in a situation where a frameset file is nested inside another frameset file. A link in one of the inner frameset documents that uses "_par

Explain the terms constructors and destructors, When we initialize the form...

When we initialize the form at that time if we require to set any variable's value then we can set it by defining in constructor. Constructor's name always similar as class name an

Explain bitwise operator, Bitwise Operators Like  other  operators  bit...

Bitwise Operators Like  other  operators  bitwise  operators  have  rules  of  precedence  and  associativity  that determine how expressions involved them are evaluated.

How can i delete a file, The Standard C Library function is removing. (This...

The Standard C Library function is removing. (This is thus one of the few questions in this section for which the answer is not ''It's system-dependent.'') On older, pre-ANSI Unix

What is hamiltonian path, What is Hamiltonian path?  A Hamiltonian path...

What is Hamiltonian path?  A Hamiltonian path in a directed graph G is a directed path that goes through every node exactly once. We consider a special case of this problem whe

Illustrate master-slave flip-flop, Q. Illustrate Master-Slave Flip-Flop? ...

Q. Illustrate Master-Slave Flip-Flop? Master slave flip-flop comprise two flip-flops. One is master flip-flop and other one is known as slave flip-flop. Fig below shows impleme

Discuss about the bus and memory transfer, Discuss about the Bus and Memory...

Discuss about the Bus and Memory Transfer A read action implies transfer of information to outside environment from a memory word, whereas storage of information inside memory

Show layout 84-key keyboards, Q. Show layout 84-key Keyboards? PC 83-ke...

Q. Show layout 84-key Keyboards? PC 83-key was the earliest keyboard provided by IBM with its first Personal Computers (PC). This had 83 keys. Afterwards IBM added one more key

Which types of software programs are usually supported, Which types of soft...

Which types of software programs are usually supported? Our organization is unique in that we are very flexible and can meet most client requires relative to the integration of

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