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

Dbms, sketch a neat E-R diagram for hotel management system with real time ...

sketch a neat E-R diagram for hotel management system with real time example

Explain difference between dynamic and static binding, Explain difference b...

Explain difference between Dynamic and static binding. Dynamic and static binding: Dynamic binding is a binding performed after the execution of a program has immediately beg

Find out decimal equivalent of the hexadecimal number, What is the decimal ...

What is the decimal equivalent of the hexadecimal number 'A0' ? Ans. The decimal equivalent value is 160 of the hexadecimal number 'A0'. As   A        0      16 1     16 0    =

Explain about the mini computers, Explain about the MINI COMPUTER Minic...

Explain about the MINI COMPUTER Minicomputers are much smaller in size than mainframe computers and they are also less expensive.  The cost of these computers can differ from a

Logical user-centered interactive design methodology, Question: Logical...

Question: Logical User-Centered Interactive Design Methodology is a methodology that identifies six clear stages to help in software development while keeping the user in mind.

Define process, Define Process. Process: It is a program in executi...

Define Process. Process: It is a program in execution; process execution should progress into sequential fashion. Process contains: program counter stack dat

Mathematical model, how to write mathematical model for circular linked lis...

how to write mathematical model for circular linked list

What are the touch panels, What are the Touch Panels In case of touch p...

What are the Touch Panels In case of touch panels, displayed objects or screen positions is allowed to be selected with the touch of a finger. A typical application of touch pa

What guarantees the integration of all application modules, What guarantees...

What guarantees the integration of all application modules? The R/3 basis system guarantees the integration of all application modules.  The R/3 basis s/w gives the run time e

Lexical analyser, The aim of this project is for you to construct a fully w...

The aim of this project is for you to construct a fully working compiler for a small simple programming language, SPL. The compiler will read in SPL source code and produce ANSI C

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