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

And-introduction rule, And-Introduction: In generally English says tha...

And-Introduction: In generally English says that "if we know that a lot of things are true, so we know that the conjunction of all of them is true", then we can introduce conj

Loop statement in both the pbo and pai events, Why do we need to code a LOO...

Why do we need to code a LOOP statement in both the PBO and PAI events for each table in the screen? We require coding a LOOP statement in both PBO and PAI events for every ta

Real-time systems, This document is intended to help students get started w...

This document is intended to help students get started with the real-time systems (RTS) assignment. We will start on the assignment together in the laboratory. Students will then c

What are the functions of dispatcher, What are the functions of dispatcher?...

What are the functions of dispatcher? There are four fuctions of dispatcher:- A)  Equal distribution of transaction load to the work processes.  B) Management of buffer a

What is link destruction, What is link destruction? Link destruction is...

What is link destruction? Link destruction is inverse of link creation. When a link is destroyed makes sure the associated objects accessible by other handles or intentionally

Shift microoperations, Shift Microoperations Shift microoperation can b...

Shift Microoperations Shift microoperation can be used for serial transfer of the data. They are used generally with arithmetic, logic and other data-processing operations. The

Mutation - canonical genetic algorithm, Mutation: However it may appea...

Mutation: However it may appear that the above recombinations are a little arbitrary that especially as points defining whether crossover and inversion occur are chosen random

What is the benefit of report wizard over an auto report, What is the benef...

What is the benefit of Report Wizard over an Auto Report? It takes a little more work to make a report with the report wizard than with the Auto Report but you have a lot more

Explain the working of hundred-line exchange, In a hundred-line exchange 24...

In a hundred-line exchange 24 two-motion selectors are used. Draw the schematic you suggest for this exchange and explain its working. How many simultaneous calls can be made durin

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