Exponential search, Computer Engineering

Assignment Help:

Exponential Search

Another alternative to variable size decrease-and-conquer search is known as exponential search. This algorithm begins searching at the beginning of the list. It then progressively tests at larger intervals (A[2],A[4],A[8], . . .) until a straddling range is found which may contain the search value. A binary search is then performed on only the suspect range to ?nd the ?nal index position.

ALGORITHM ExponentialSearch (A[0 . . . n - 1], k)

// A variable-size decrease and conquer 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: set pos ← 2
2: while pos < n and A[pos] < k do
3: prev ← pos
4: pos ← pos  2
5: if pos > n - 1 then
6: pos ← n - 1
7: result ← BinarySearch(A[prev . . . pos], k)
8: if result = -1 then
9: return -1
10: else
11: return result + prev

Algorithm ExponentialSearch shows the pseudocode for this solution. Implement the algorithm.


Related Discussions:- Exponential search

What is verification method, The verification method states how Robot compa...

The verification method states how Robot compares the baseline data captured while recording with the data captured during playback.

Explain interface, What is an Interface? An interface is not a class. I...

What is an Interface? An interface is not a class. It is an entity that is explained by the word Interface. An interface has no implementation; it only has the signature or in

Provide constructors, For this assignment, fill out the following class:   ...

For this assignment, fill out the following class:   class person { private:   string firstName;   string lastName;   int weight; public:   . . . }; You should provide cons

Digital systems and microprocessors, Your logic function for this assignmen...

Your logic function for this assignment is to be derived from your own student number. The number 1224583 will be used as an example as to how you should derive your function and e

When can we see layer groups in gimp, Sometimes it is nice to place layers ...

Sometimes it is nice to place layers in groups. It makes them simple to organize when you have lots of them. It also means you can simply apply the similar effect to lots of layers

Characteristics of a computer memory systems, Question: a) Describe wha...

Question: a) Describe what is meant by a "bus". There are two types of bus, dedicated and multiplexed. Give a brief description of both types of buses. b) Briefly explain f

Find minimal expression for sop. draw gate network, Q Consider the followin...

Q Consider the following expression. Assume that complement inputs are available. F(A,B,C,D) = ∑m (1,2,6,9,10,14) + ∑d (4,7,8,11,12) a. Find minimal expression for SOP. Draw

Illustrate organisation of dram chip, Q. Illustrate Organisation of DRAM Ch...

Q. Illustrate Organisation of DRAM Chip? The given figure is a typical organisation of 16 mega bit DRAM. It displays a typical organisation of 2048 × 2048 × 4 bit DRAM chip. Me

Difference between the functions unlink and unset?, Unlink() is a function ...

Unlink() is a function for file system handling. It will easily delete the file in context.   Unset() is a function for variable management. It will create a variable undefin

What is event-driven control, What is event-driven control? Control res...

What is event-driven control? Control resides within a dispatcher or monitors that language, subsystem or OS provider. Developers attach application process to events and dispa

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