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

Real-time systems and control, A group report with no more than three stude...

A group report with no more than three students per group is to be handed in to explain your design procedures and simulation results. Representative graphical system outputs (clea

Applied physics, #what is nicol prism.its construction and working

#what is nicol prism.its construction and working

Explain briefly how firewalls protect network, Explain briefly how firewall...

Explain briefly how firewalls protect network.       A firewall is simply a program or hardware device that filters the information coming by the Internet connection into your

Cloud computing, what is the scope of doing a final year project on cloud c...

what is the scope of doing a final year project on cloud computing?

Use string manipulating functions , Write a script that will first initiali...

Write a script that will first initialize a string variable that will kept x and y coordinates of a point in the form 'x 3.1 y 6.4'.  Then, use string manipulating functions to ext

What is multiprogramming, Multiprogramming is a rapid switching of the CPU ...

Multiprogramming is a rapid switching of the CPU back and forth among processes.

Illustrate what is universal law of universal gravitation, Q. Illustrate wh...

Q. Illustrate what is the universal law of universal gravitation? Answer:- Declaration that any particle of matter in the universe attracts any other with a force varying

What is literal, Meaning of Literal is:- Literal is string constant.

Meaning of Literal is:- Literal is string constant.

What are preprocessor directives, What are preprocessor directives? Pre...

What are preprocessor directives? Preprocessor directives: These are the commands given to a program called as pre-processor that processes the source code before it passes by

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