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

Hardware implementation for signed-magnitude data, Hardware Implementation ...

Hardware Implementation for signed-magnitude data When multiplication  is  implemented  in  digital  computer,  we  change  process lightly. Here, in place of providing registe

Trusted publisher, State the criteria which a trusted publisher should meet...

State the criteria which a trusted publisher should meet before adding him? Ans) The following criteria should be met by the publisher before adding him to the list. ? The

Speed up - metrics for performance evaluation, Q. Speed Up - metrics for pe...

Q. Speed Up - metrics for performance evaluation? Speed up is ratio of time needed to execute a given program employing a specific algorithm on a machine with single processor

write a ''c'' program to accept any 3 digit integer number, Write a 'C' pr...

Write a 'C' program to accept any 3 digit integer number from the keyboard and display the word equivalent representation of the given number

Determine the example of timescale, Determine the Example of timescale ...

Determine the Example of timescale 'timescale 10ns / 1ps Indicates delays are in 10 nanosecond units with 3 decimal points of precision (1 ps is 1/1000ns which is .001 ns).

What is the impact of overflow for binary numbers, Q. What is the impact of...

Q. What is the impact of overflow for binary numbers? An overflow is said to have happened when sum of two n digits number takes n+ 1 digits. This definition is perfectly appli

Define the example client-server implementations, Define the Example Client...

Define the Example Client-server Implementations Once you accept the client-server mindset, the process of architecting and developing applications becomes rather easy. Clearly

What is bus arbitration, What is bus arbitration? It is method by which...

What is bus arbitration? It is method by which the next device to become the bus master is selected and bus mastership is transferred to it. There are two ways for doing this:

Explain the fork-join, Explain the fork-join? fork-join: It is prim...

Explain the fork-join? fork-join: It is primitives in a programming language of higher level for implementing interacting processes. The syntax is as given below: fork

What is block scope, What is Block scope Block scope: The variables w...

What is Block scope Block scope: The variables with block scope appear in a block or within the list of formal parameter declarations in a function definition. It is visible

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