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 wmfc, What is WMFC? WMFC if the control signals that causes the...

What is WMFC? WMFC if the control signals that causes the processor's control circuitry to wait for the arrival of the MFC signal.

Fully parallel associative processor (fpap), Fully Parallel Associative Pro...

Fully Parallel Associative Processor (FPAP):  This processor accepts the bit parallel memory organisation. FPAP has two type of this associative processor named as: Word Org

What are dynamic process groups, Q. What are Dynamic Process Groups? To...

Q. What are Dynamic Process Groups? To create and manage dynamic groups a separate library libgpvm3.a should be linked with the user programs which make use of any of group fun

Show the programmes for parallel systems, Q. Show the Programmes for Parall...

Q. Show the Programmes for Parallel Systems? Adding elements of an array using two processor      int sum, A[ n] ;  //shared variables

#artificial intelligence, does matlab contain procedures for knoledge repre...

does matlab contain procedures for knoledge representation? if yes where can i find it?

C program, a c program to implement multiple stack in a single array

a c program to implement multiple stack in a single array

Porcess of identifying input and output values, Porcess of Identifying Inpu...

Porcess of Identifying Input and Output Values First, recognize what data is going to be used as input to system, and what will be output from system. Input and output values

State about sixth generation electronic computers, Sixth Generation (1990 -...

Sixth Generation (1990 - ) This  generation  begun  with  many  gains  in  parallel  computing,  both  in  hardware area and in improved understanding of how to build up algori

Which analysis finds syntactic structure of source statement, An analysis, ...

An analysis, which determines the syntactic structure of the source statement, is called ? Ans. Syntax analysis that determines the syntactic structure of the source statement.

Dynamic partitioning - computer architecture, Dynamic partitioning: To...

Dynamic partitioning: To rise above from difficulties with fixed partitioning, partitioning can be done dynamically, which called dynamic partitioning. Having it, the primary

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