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

Types of security features employed in client server network, What are the ...

What are the types of security features employed in client server kinds of network? Security features employed in Client-Server types of network are as illustrated below: a)

Define the types of software life cycle, Define the types of software life ...

Define the types of software life cycle Any system progress refers to the initial part of the software life cycle: analysis, design, and implementation. During object oriented

What are the mechanisms for implementing i/o operation, What are the variou...

What are the various mechanisms for implementing I/O operations? a) Program controlled I/O b) Interrupts c) DMA

What is strong-typing versus weak-typing, What is strong-typing versus weak...

What is strong-typing versus weak-typing? Which is preferred? Why? Strong type is checking the types of variables as early as possible, usually at compile time. Whereas weak ty

Engineering maths, calculate dy/dx if y=[x-cos(1/cos(xe/2x))]/x

calculate dy/dx if y=[x-cos(1/cos(xe/2x))]/x

Conversion of bcd number to binary using a procedure, Q. Conversion of BCD ...

Q. Conversion of BCD number to binary using a procedure? Conversion of BCD number to binary using a procedure. Algorithm for conversion procedure: Take a packed BCD digit

Business software , Business Software   Business  information  proce...

Business Software   Business  information  processing  is  the  biggest  single  software  application  area. Discrete "systems" (e.g., payroll accounts receivable/payable

Describe one graphics and image editing tool, Question : Multimedia inv...

Question : Multimedia involves multiple modalities of text, audio, images, drawings, animation, and video (a) Describe three popular file formats for images (b) Most imag

What is full trust, What is Full Trust? Your code is permitted to do an...

What is Full Trust? Your code is permitted to do anything in the framework, meaning that all (.Net) permissions are granted. The GAC has Full Trust because it's on the local HD

Compact disc - computer storage, Compact Disc; Compact Disc ( CD)   i...

Compact Disc; Compact Disc ( CD)   is an optical disc  which is used to  store digital data. It was initially developed to store sound recordings completely, but later it als

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