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

What are packages, What are packages? Package is a group of elements (c...

What are packages? Package is a group of elements (classes, generalizations, associations and lesser packages) with a common theme. Package partitions a model making it simpler

Determine no.of processes to avoid race condition, To avoid race condition,...

To avoid race condition, the maximum number of processes that may be simultaneously inside the critical section is The maximum number of processes is one to ignore race conditi

Differences between internal and external fragmentation, Explain the differ...

Explain the differences between Internal and external fragmentation. Internal and external fragmentation (1) While memory allocated to a process is a little larger than th

What are the event key words in interactive reporting, What are the event k...

What are the event key words in interactive reporting? Event Keyword                                                 Event AT LINE-SELECTION         Moment at which the u

Cg, 1. How can you divide the screen into quadrants? Is the process called ...

1. How can you divide the screen into quadrants? Is the process called as ‘viewing transformations’?

What is modem?, A device, usually linked to a serial port of a computer, th...

A device, usually linked to a serial port of a computer, that transfer data over regular phone lines. Modem stands modulator demodulator; it changes a digital stream of data into s

Define in brief about the database management systems, Define in brief abou...

Define in brief about the Database Management Systems Databases (Database Management Systems - DBMS) Databases are used to organise and collect information. Most databas

Update -task updates, Update -task updates are Asynchronous updates.

Update -task updates are Asynchronous updates.

What is called when a program is in execution, A program in execution is ca...

A program in execution is called?  Ans. When a program in execution is known as Process.

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