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

Illustrate cache dram, Q. Illustrate Cache DRAM? Cache DRAM (CDRAM) wh...

Q. Illustrate Cache DRAM? Cache DRAM (CDRAM) which is developed by Mitsubishi integrates a tiny SRAM cache (16Kb) on a generic DRAM chip. SRAM on the CDRAM can be used in two

Which 802 standard provides for a collision free protocol, Which 802 standa...

Which 802 standard provides for a collision free protocol? 802.5 standard gives for a collision free protocol.

What is selective complement - logic micro operations, SELECTIVE COMPLEMEN...

SELECTIVE COMPLEMENT The selective-complement process complements bits in register A where there are corresponding 1's inside register B. It does not affect bit positions which

Explain about merge sort circuit, Q. Explain about Merge sort circuit? ...

Q. Explain about Merge sort circuit? First split the given sequence of n numbers in two parts every part comprising of n/2 numbers. Afterwards recursively divide the sequence i

No class can derive, Make a console application. Add class 'Account' having...

Make a console application. Add class 'Account' having variables as num (integer) name (String), bal (double), ac_code (byte). Describe four different constructors to initialize th

What is process control block, What is process control block?  Each pro...

What is process control block?  Each process is shown in the OS by a process control block. It having many pieces of information associated with a specific process.

Explain the race condition, Explain the Race Condition The situation wh...

Explain the Race Condition The situation where various processes access - and manipulate shared data concurrently. The final value of the shared data relies upon which process

Explain the do while loops, Explain The do while loops The do while loo...

Explain The do while loops The do while loops is similar, but the test occurs after the loop body is executed. This ensures that the loop body is run at least once.

Determine the objectives of object oriented analysis, Objectives of object ...

Objectives of object oriented analysis After going through this unit, you should be able to: define the concepts of the objects in the system; express desired syste

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