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

Doubly linked list, A doubly linked list is like a linked list except that ...

A doubly linked list is like a linked list except that each node has a pointer both to the next node in the list and to the previous node in the list. There are also pointers to th

RS232C schematic diagram, Can someone provide me a scehmatic diagram of RS2...

Can someone provide me a scehmatic diagram of RS232C with explanation?

Name the various display devices, Name the various Display devices Diff...

Name the various Display devices Different types of display devices are discussed along with the principles on which these work. The main display devices used with CAD systems

Game playing techniques - artificial intelligence, Game Playing techniques ...

Game Playing techniques - artificial intelligence: Now we have dispensed with the essential background material for Artificial Intelligence problem solving techniques, and we m

What is friend function in c++, As the name suggests, the function acts as ...

As the name suggests, the function acts as a friend to a class. As a friend of a class, it can access its private & protected members. A friend function is not a member of the clas

3 sets of input data, Prepare at least 3 sets of input data (Test data) alo...

Prepare at least 3 sets of input data (Test data) along with expected output for testing your program.

Explain three-way handshake mechanism, Explain Three-Way Handshake Mechanis...

Explain Three-Way Handshake Mechanism used by TCP to terminate a Session reliably. Just to guarantee that connection is sets up or terminated reliably, transfer control protoco

What is jmx, JMX is native to the Java programming language. As a result, i...

JMX is native to the Java programming language. As a result, it offers natural, efficient, and lightweight management extensions to Java-based functions. It has of a set of specifi

Nand gate, The NAND gate. The NAND gate is equivalent to an AND gate fo...

The NAND gate. The NAND gate is equivalent to an AND gate followed by a NOT gate so that the output is 0 when all of the inputs are high, otherwise the output is 1. There may

Why we need the need of parallel computation, THE NEED OF PARALLEL COMPUTAT...

THE NEED OF PARALLEL COMPUTATION   With the growth of computer science, computational pace of the processors has also increased many a times. Though, there are definite constr

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