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 about open system, Q. Explain about Open System? The 'Open Syst...

Q. Explain about Open System? The 'Open System' is a system within its environment. It receives input from environment as well as provides output to environment.  Illustrati

What is the purpose of the enableevents() method, The enableEvents() method...

The enableEvents() method is used to enable an event for a certain object. Normally, an event is enabled when a listener is added to an object for a certain event. The enableEvents

Multiple instruction and multiple data stream (mimd), Multiple Instruction ...

Multiple Instruction and Multiple Data stream (MIMD) In this association, multiple control units and multiple processing elements are prepared as in MISD. But the discrepancy i

Design goals of computer system, Design goals: The correct form of a c...

Design goals: The correct form of a computer system depends on the constraints and aim for which it was optimized. Computer architectures frequently trade off   cost, standard

Define user mode and kernel mode, Define user mode and Kernel mode Kern...

Define user mode and Kernel mode Kernel is a private mode in that no limitation is imposed on the kernel of system. Kernel may be use all the information of the processor, oper

Super class and subclass in programming, What is the difference among super...

What is the difference among super class and subclass in programming? Ans) A super class is a class that is inherited in programming while the sub class is a class that does th

What do you understand by client-server architecture, Question: (a) (i...

Question: (a) (i) Explain what do you understand by Client/server architecture? (ii) List and briefly describe 3 types of Client/server architecture. (b) The most impo

Bit manipulation techniques, We can also use the logical operators to numbe...

We can also use the logical operators to numbers directly and  perform simple bit manipulation . The operators are     &  Bitwise AND     |  Bitwise OR     ^  Bitwise exclusiv

Describe about managing data tasks?, Data can be handled by using the featu...

Data can be handled by using the features of Import text wizard and export text wizard. Here you can keep the operation for future use. First you should edit the specification name

Function name or connective symbol, Function name or connective symbol: ...

Function name or connective symbol: Whether if we write op(x) to signify the symbol of the compound operator then predicate name and function name or connective symbol are the

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