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

Should we use cgi or an api, APIs are proprietary programming interfaces su...

APIs are proprietary programming interfaces supported by certain platforms. By using an API, you lose all portability. If you know your application will only ever run on single pla

Explain management information base variables, Explain MIB (Management Info...

Explain MIB (Management Information Base) variables. MIB is a set of named items which an SNMP agent knows. To control or monitor a remote computer, a manager should fetch or s

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

Dynamic configuration of parallel virtual machine, Q. Dynamic Configuration...

Q. Dynamic Configuration of parallel virtual machine? int pvm_addhosts( char **hosts, int nhost, int *infos ) Add hosts to virtual machine. hosts is an arra

Which error detecting method detect more errors, Error detecting method tha...

Error detecting method that can detect more errors without increasing additional information in each packet is? Error detecting method which can detect more errors without rais

Explain cause effect graphing, Explain cause effect graphing . Cause-ef...

Explain cause effect graphing . Cause-effect graphing is a test case design method that gives a concise representation of logical conditions and corresponding actions.  The

Performance of computer system, Performance of computer system: Comput...

Performance of computer system: Computer performance is frequently described in terms of clock speed (usually in MHz or GHz). It refers to the cycles per second of the main cl

Execution error and compilation error, Execution error and compilation erro...

Execution error and compilation error: Errors like as mismatch of data types or array out of bound error are called as execution errors or runtime errors. These errors are us

Centres of keycaps, A full size keyboard has distance between centres of ke...

A full size keyboard has distance between centres of keycaps (keys) like 19mm (0.75in).The keycaps have a top of nearly 0.5in (12.5in) that is shaped as a sort of dish to help you

What is the purpose of guard bits, What is the purpose of guard bits used i...

What is the purpose of guard bits used in floating point operations? The guard bits are the extra bits which are used to retain the in-between steps to enhance the accuracy in

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