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

Calculating block size - computer architecture, Calculating Block Size: ...

Calculating Block Size: B A unit of associatively -one tag for B A words B T unit of transfer-B T words to/from primary memory as a unit             One valid bit for

What are the 2 ieee standards for floating point numbers, What are the 2 IE...

What are the 2 IEEE standards for floating point numbers? 1.single 2.double

Explain the fundamentals of c programming, Explain the Fundamentals of C Pr...

Explain the Fundamentals of C Programming? The C is a general purpose structured programming language. The C was developed and first implemented by the Dennis Ritchie at Bell L

Multiprogramming or multitasking, Multiprogramming or multitasking? An...

Multiprogramming or multitasking? Ans: The OS manages the concurrent execution of many application programs to make best possible use of computer resources. This pattern of si

Full form of ldap, LDAP stands for LDAP- Light weight Directory Access...

LDAP stands for LDAP- Light weight Directory Access Protocol.

Define decision support system, Q. Define Decision Support System? An...

Q. Define Decision Support System? Ans. The decision support system is an information system application which help decision making. DSS tends to be used in planning or analy

Design a nand-to-and gate network, Use as few gates as possible, design a N...

Use as few gates as possible, design a NAND-to-AND gate network that realize the following Boolean algebra expression. A'BC'D + ABC'D' + A'B'CD' + AB'C'D'

Thematic analysis - flash design, Thematic Analysis & Interpretation: ...

Thematic Analysis & Interpretation: The next steps in analysis are to move beyond what is literally there in the image (formal visual elements) and examine the meaning they re

Determine the quivalence partitioning, Determine the quivalence Partitionin...

Determine the quivalence Partitioning? The division of domain data into dissimilar equivalence data classes is performed using Equivalence Partitioning. It is executed for redu

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