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

What is task identifier, Q. What is task identifier? Each and every PVM...

Q. What is task identifier? Each and every PVM task is uniquely recognized by an integer known as task identifier (TID) assigned by local pvmd. Messages are received from and s

Prolog artificial intelligence , 1. countdown Example: countdown(5,[5,4,3,2...

1. countdown Example: countdown(5,[5,4,3,2,1]).  NOTE - your function should be able to answer questions such as: ?- countdown(5,L).  2. count_occur Example: count_occur(7,[5,2,6

Highly encoded micro-instructions, Highly Encoded micro-instructions ...

Highly Encoded micro-instructions Encoded bits required in micro-instructions are small. It provided an aggregated view that is a higher view of CPU as just an encoded

How many times browser on each computer has contacted server, Write a CGI p...

Write a CGI program that displays a count of how many times a browser on each computer has contacted the server. echo Content -type: text /html echo N=$QUERY_STRING Ec

Dynamic memory allocation function, Name the dynamic memory allocation func...

Name the dynamic memory allocation function? Three dynamic memory allocation functions are: a) malloc, b) calloc and c) free.

Explain macro definition, Explain macro definition. A unit of specifica...

Explain macro definition. A unit of specification for a program generation is termed as a macro. This consists of name, body of code and set of formal parameters.

What are the requirements for a swapper to work, What are the requirements ...

What are the requirements for a swapper to work? The swapper works on the highest scheduling priority. Firstly it will look for any sleeping method, if not found then it will

Computer architecture by henessy and patterson, what is initial interval an...

what is initial interval and latency in a functional unit(fp) of a pipeline

linq file extension, What is the LINQ file extension that interacts with C...

What is the LINQ file extension that interacts with Code Behinds objects? Ans) The extension of the file is .dbml

How does vb.net achieve polymorphism, How does VB.NET/C# achieve polymorphi...

How does VB.NET/C# achieve polymorphism?  VB.Net / C# provide polymorphism through the following mechanisms: 1. Inheritance - base class gives overridable methods which ar

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