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

Uninformed search strategies - artificial intelligence, Uninformed Search S...

Uninformed Search Strategies: To be able to undertake an unaware search, there is really important that the entire agent needs to know is the primary state, then the possible

Define public identifiers, Q. Define Public Identifiers? Public Identif...

Q. Define Public Identifiers? Public Identifiers: A public identifier is one which is defined within one module of a program however potentially accessible by all of the other

What is the difference between swapping and paging, What is the difference ...

What is the difference between Swapping and Paging? Swapping: Entire process is moved from the swap device to the major memory for implementation. Process size must be less t

What do you understand by electronic funds transfer, What do you understand...

What do you understand by Electronic Funds Transfer?  Electronic Funds Transfer: It's an electronic payment method that transfers the money value from one bank account to

Determine the output waveforms for and and or gates, The voltage waveforms ...

The voltage waveforms shown in given fig. are applied at the inputs of 2-input AND and OR gates. Determine the output waveforms. Ans. The Output waveforms for AND and O

Term memory as used in a computer context initially, Term memory as used in...

Term memory as used in a computer context initially The term memory as used in a computer context initially referred to magnetic core memory devices which were used beginning

Software engineering, What are coupling and cohesion and why are they impor...

What are coupling and cohesion and why are they important concepts in software design?

Options with dir in dos, Q. Options with DIR in DOS? You can use a numb...

Q. Options with DIR in DOS? You can use a number of options with DIR. To get the list of files from any other drive, denote the drive name followed by ':' with DIR. For exam

Explain high level data link control, Explain High Level Data Link Control....

Explain High Level Data Link Control. HDLC - it is High Level Data Link Control: Protocol Overall explanation: Layer 2 of the OSI model is the data link layer. One of the

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