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

Explain the term- macro, Explain the term- macro? A term macro is a set...

Explain the term- macro? A term macro is a set of instructions, which can be executed repeatedly. It is useful for automating certain routine tasks like printing reports etc. T

Explain signed binary number system, Explain signed binary number system. ...

Explain signed binary number system. Ans. Signed Binary Numbers: In decimal number system positive numbers are signified by (+) sign and negative numbers are represented b

Why generalization is very strong, Even while Generalization satisfies Stru...

Even while Generalization satisfies Structural, Interface, Behaviour properties. It is mathematically very strong, as it is Antisymmetric and Transitive. Antisymmetric: employe

Discuss different routing plan adopted in telephone network, Discuss differ...

Discuss different Routing plan adopted in a Telephone network. Hierarchical networks are able of handing heavy traffic where needed, and at similar time use minimal number of t

Artificial neural networks, Artificial Neural Networks: However imagin...

Artificial Neural Networks: However imagine now in this example as the inputs to our function were arrays of pixels and there actually taken from photographs of vehicles such

Web designing, how to start a web designing would you please guide me

how to start a web designing would you please guide me

Difference between visual basic, Visual basic is useful if you are planning...

Visual basic is useful if you are planning to make the programs from scratch. This language helps you in producing Active x controls, exe files, etc. Visual script is a powerful t

In 8085 which is called as high order / low order register, Flag is known a...

Flag is known as Low order register & Accumulator is known as High order Register.

What is electronic data interchange, What is Electronic Data Interchange? ...

What is Electronic Data Interchange? Electronic Data Interchange (EDI): It is used by organizations for transactions which arise on regular basis to a pre-found format.

Explain clone process, Explain Clone process. A clone process is genera...

Explain Clone process. A clone process is generated using primitive type clone by duplicating its parent process. However unlike traditional processes it might be share its con

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