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

By which transport protocol used, The transport protocol used by TFTP (Triv...

The transport protocol used by TFTP (Trivial File Transfer Protocol) is? The transport protocol used through Trivial File Transfer Protocol is UDP.

Explain the term electronic data interchange (edi), Explain the term Electr...

Explain the term Electronic Data Interchange (EDI). Electronic Data Interchange (EDI) may be generally easy to understand as the replacement of paper-based purchase orders alon

Object orientation and uml, In this task you are supposed to create three U...

In this task you are supposed to create three UML diagrams. The conditions are given by the scenario in the document Theatre Case (on Blackboard). A theatre manager has ordered a s

Specify the default alignment, Specify the default alignment for the follow...

Specify the default alignment for the following field types: 'D' - Left, 'F'-Right, 'N'-Left, 'I'-Right, 'T'-Left.

What is block size of cache memory, Q. What is Block size of cache memory? ...

Q. What is Block size of cache memory? Block Size: Block size means unit of data (few memory words) exchanged between main and cache memory. As block size increases from very

Explain dataflow computing, DATAFLOW COMPUTING A substitute to the Von ...

DATAFLOW COMPUTING A substitute to the Von Neumann model of calculation is dataflow computation model. In the dataflow model, control is tied to flow of data. Order of instruct

What is a subroutine, What is a subroutine? A subroutine is a named, in...

What is a subroutine? A subroutine is a named, independent section of C code that performs a particular task and optionally returns a value to the calling program.

Communication of request/response - procedural interaction, Explain the Com...

Explain the Communications of Request/Response Communications requirements for message or procedural- based interaction are very similar. Application interaction (client-server

Buses - computer architecture, Buses: Execution of 1 instruction ne...

Buses: Execution of 1 instruction need the following 3 steps to be performed by the CPU: I.  Fetch the contents of the memory location pointed at by the computer syst

Tag do you use to add a hyperlink column to the DataGrid, What tag do you u...

What tag do you use to add a hyperlink column to the DataGrid?   Anchor tag is used to add a hyperlink column to the data grid

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