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 multiple bus organization structure, Explain the multiple bus o...

Explain the multiple bus organization structure with neat diagram. The multiple bus organization is using more buses instead of one bus to decrease the number of steps needed an

Software engineering, assignment on transaction flow, transform flow, trans...

assignment on transaction flow, transform flow, transform mapping: refining the architectural design

What is mini computer, Q. What is Mini computer? The term minicomputer ...

Q. What is Mini computer? The term minicomputer introduced in 1960's when it was realized that numerous computing tasks don't need an expensive modern mainframe computers howev

Determine bhca rating for processor and call completion rate, A call proces...

A call processor in an exchange requires 120 ms to service a complete call. What is the BHCA rating for the processor? If the exchange is capable of carrying 700 Erlangs of traffic

Grounding a variable - first-order logic, Grounding a variable - first-orde...

Grounding a variable - first-order logic: The perform of making ourselves clear about a variable by introducing an exists or a forall sign is called quantifying the variable.

How to clear computer motherboard cmos password, As CMOS is a special chip ...

As CMOS is a special chip with its own battery, the best way to clear out a CMOS chip is to cut off it from its power supply. To clear the CMOS password you just take away the

Draw state diagram, Draw the state diagram of a process from its creation t...

Draw the state diagram of a process from its creation to termination, including all transitions, and briefly elaborate every state and every transition. When a process executes

Define swapping, Define swapping.  A process needs to be in memory to b...

Define swapping.  A process needs to be in memory to be implemented. Though a process can be swapped temporarily out of memory to a backing store and then brought back into mem

Assembly langaauge microprocessor, write alp to perform bcd addition withou...

write alp to perform bcd addition without using procedure

Why is fragmentation needed on internet not on a typical wan, Why is fragme...

Why is fragmentation needed on Internet not on a typical WAN? TCP/IP protocol utilizes the name IP datagram to demote to an Internet packet. The amount of data carried into a d

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