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

Assembly program, where do i get some sample assembly projects (with coding...

where do i get some sample assembly projects (with coding included)?

How can i make text in a cell display in multiple lines, When entering word...

When entering word into the cell, press Alt-Enter to insert a line break. When you do so, Excel will automatically give text wrapping to the cell. To reformat existing cells s

Two properties of recursion, Two properties of recursion are:- 1. A sm...

Two properties of recursion are:- 1. A smallest, base case that is processed without recursion and acts as decision criterion for stopping the method of computation and 2.

How to write good assembly programs, Preparation of writing the program ...

Preparation of writing the program 1.  Write an algorithm for your program closer to assembly language. For instance the algorithm for preceding program will be: get NUM1

Explain working of counters, Q. Explain working of Counters? A counter ...

Q. Explain working of Counters? A counter is a register that goes through a predetermined sequence of states when clock pulse is applied. In principle value of counters is incr

Differentiate between the message and method in c++, Message in C++ : *...

Message in C++ : * Objects converse by sending messages to each other. * A message is sent to invoke a method in C++.   Method in C++: * Gives response to a message

Synchronization latency problem, Synchronization Latency Problem:  If two s...

Synchronization Latency Problem:  If two simultaneous processes are performing remote loading, then it is not recognized by what time two processes will load, as the issuing proces

How to define a filename in dos, Q. How to define a Filename in DOS? Ea...

Q. How to define a Filename in DOS? Each file is given a name so that it can be referred to later. This name is termed as Filename. The filename in DOS can be up to eight alpha

Requirements of decision support system, Q. Requirements of decision suppor...

Q. Requirements of decision support system? a) Fast computation A decision maker is able to perform a large number of computations very quickly and that too at a low cost

List the key notions concerning macro expansion, List the key notions conce...

List the key notions concerning macro expansion. Two key notions relating to macro expansion is: 1. Expansion time control flow- Determines the order of model statements tha

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