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

How to pass data from list to report, How to pass data from list to report?...

How to pass data from list to report? ABAP/4 gives three ways of passing data: ---Passing data automatically using system fields ---Using statements in the program to tak

Make a generalize program to performs r-ary subtraction, Q. Make a genera...

Q. Make a generalize program that performs r-ary subtraction on two numbers using (r-1)'s and r's complement? Use input and output files.

The average quiz score for every student, Make a spreadsheet that has on ev...

Make a spreadsheet that has on every line an integer student identification number followed by 3 quiz grades for that student.  Go though that information from the spreadsheet into

Handling multiple devices - computer architecture, Handling Multiple Device...

Handling Multiple Devices Interrupt Priority   Continue to accept interrupt requests from higher priority components   Disable interrupts from component at the sa

Difference between commit-work and rollback-work tasks, What is the differe...

What is the difference between Commit-work and Rollback-Work tasks? Commit-Work statement "performs" many functions relevant to synchronized execution of tasks.  Rollback-work

C-programing, c-program for the minimum total number of shelves

c-program for the minimum total number of shelves

Data structure, Sort the following list using selection sort technique, dis...

Sort the following list using selection sort technique, displaying each step. 20,12,25,6,10,15,13

What are the different database integrities, What are the different databas...

What are the different database integrities? Semantic Integrity. Relational Integrity. Primary Key Integrity. Value Set Integrity. Foreign Key integrity and

Explain excess-3 and gray code using four binary digitis, Give the details ...

Give the details of excess 3 codes and gray code using four binary digits. Ans: Table of excess 3 codes and gray code using four binary digits Binary

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