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

First-order logic - artificial intelligence, First-Order Logic We, as h...

First-Order Logic We, as humans, have always prided ourselves on our ability to think things through for this reason things are out and come to the only conclusion possible in

With what symbolic names can be associated, Symbolic names can be associate...

Symbolic names can be associated with? Ans. With data or instruction symbolic names associated.

Manipulating numbers, Computers manipulate numbers - but decimalnumbers wit...

Computers manipulate numbers - but decimalnumbers with digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 cannot be represented using two states of a digitalcircuit.Instead decimal numbers are co

Strings made of left curly braces, In a logical system, a judgement is a st...

In a logical system, a judgement is a statement that is either true or false. So far, you are most familiar with the type of judgement "A is true", which is often simply abbreviate

What are interrupts, What are interrupts?  Interrupt: An interrupt i...

What are interrupts?  Interrupt: An interrupt is a hardware mechanism which enables an external device, classically input/output devices, to send a signal to the CPU. An int

Acting rationally - artificial intelligence, Acting Rationally: "Al" C...

Acting Rationally: "Al" Capone was finally convicted for tax evasion. Were the police reacting on rationally?? To solve this puzzle, we must first look at how the performance

Support activities in supply chain management, What are the some support ac...

What are the some support activities in primary functions of Supply Chain Management? To support primary functions of Supply Chain Management there will be a company’s infrastr

Parallelism based on granularity size-granularity, Parallelism based on G...

Parallelism based on Granularity size Granularity:  Granularity or Grain size is a determine which measure how much computation is devoted in a process.Granularity size is

What is an accessor in c++, An accessor is a class operation that does not ...

An accessor is a class operation that does not change the state of an object in C++. The access or functions require to be declared as const operations

Explain non-folded network, Explain Non-Folded network Non-Folded Netw...

Explain Non-Folded network Non-Folded Network: In a switching network, every inlet/outlet connection may be utilized for inter exchange transmission. In this case, the .excha

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