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

Add the equation by using 648 and 487 in bcd code, Add 648 and 487 in BCD c...

Add 648 and 487 in BCD code. Ans. In BCD Code, addition of 648 and 487: 6 4 8  =  0 1 1 0   0 1 0 0      1 0 0 0 4 8 7  =  0 1 0 0   1 0 0 0      0 1 1 1 ---------------------

What is a mutable member, One that can be modified by the class even when t...

One that can be modified by the class even when the object of the class or the member function doing the modification is const.

What does "wire_read: unexpected eof" mean in gimp, This error message shou...

This error message should say something like "the plug-in (or the major GIMP app) I was talking to has existed before returning any results, so I suppose that it has crashed."

Programmed input - output technique for computers, Q. Programmed input - ou...

Q. Programmed input - output technique for computers? Programmed input/output is a useful I/O technique for computers where hardware costs need to be minimised. Input or output

Determine the uses of programming language interface, Determine the uses of...

Determine the uses of Programming Language Interface PLI  is  used  for  implementing  system  calls  that would  have  been  hard  to  do  otherwise  (or impossible) using Ve

What is demand paging, What is major difference between the Historic Unix a...

What is major difference between the Historic Unix and the new BSD release of Unix System V in terms of Memory Management? Historic Unix uses Swapping - Whole process is tran

How are standard query operators implemented in linq, Standard Query Operat...

Standard Query Operators are executed as extension methods in .NET Framework. These Standard Query Operators can be used to work with any collection of objects that executes the IE

What do you mean by proc directive, Q. What do you mean by PROC Directive? ...

Q. What do you mean by PROC Directive? PROC Directive: Code segment comprises executable code for a program that includes one or more procedures defined initially with PROC dir

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