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

Explain the need for user-defined functions, Explain the need for user-defi...

Explain the need for user-defined functions. The need for user-defined function: 1.  A programmer might be having a block of code that he has repeated forty times all over t

Microprocessor, what is opcode for addition and subtraction

what is opcode for addition and subtraction

What is XMS, What is XMS Memory system is divided into 3 main parts. TP...

What is XMS Memory system is divided into 3 main parts. TPA (transient program area), system area and XMS (extended memory system). Type of microprocessor in your computer sign

First-order models -artificial intelligence, First-Order Models - Artificia...

First-Order Models - Artificial intelligence: We proposed first-order logic like good knowledge representation language rather than propositional logic because it is more expre

Non-repudiation achieved in designing e-cash based system, How can non-repu...

How can non-repudiation be achieved into designing e-cash based system? E-cash is fundamentally an online solution. The buyer should validate the coins by the issuer so as to g

What are the risks involved in electronic payment systems, What are the ris...

What are the risks involved in Electronic Payment Systems?    From the customer's perspective: Dishonest merchants or financial service providers Stolen payment

What are the parts of a deployment diagram, ? Nodes: A node shows any hardw...

? Nodes: A node shows any hardware component. The configuration of hardware is shown by attributes of nodes. ? Components: A component shows software. Every component straight

what is a real time system, A real time system is a computer system that u...

A real time system is a computer system that updates the information at the similar rate it receives it. Real time system is of two types:- a)  Hard real time system and

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