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

How do you find out if a linked-list has an end, By 2 pointers you can find...

By 2 pointers you can find it. One of them goes 2 nodes each time. The second one goes at 1 node each time. If there is a cycle, the one that goes 2 nodes every time will eventuall

Define the karnaugh maps (k maps), Define The Karnaugh Maps (K Maps) Th...

Define The Karnaugh Maps (K Maps) The Karnaugh map (K map) provides the systematic method for simplifying a Boolean expression or a truth table function when used properly the

What are the super computers, SUPER COMPUTER The upper end of state of ...

SUPER COMPUTER The upper end of state of art mainframe machine is the supercomputer. These  are  the  fastest  machines  in  terms  of  processing  speed  and  use multiprocess

Mathematical model, how to write mathematical model for circular linked lis...

how to write mathematical model for circular linked list

Explain the physical and logical paths in a computer, How is communication ...

How is communication between computers established in Internet. What characteristics need to be defined in a communication protocol? Explain the physical and logical paths in a com

Nanoprogramming - computer architecture, Nanoprogramming:  Second c...

Nanoprogramming:  Second compromise: nanoprogramming  it use a 2-level control storage organization  Top level is a vertical format memory  Output of the top level

What is synchronous reset, What is Synchronous reset? Synchronous reset...

What is Synchronous reset? Synchronous reset: Synchronous reset logic will synthesize to smaller flip-flops, mainly when the reset is gated along with the logic generating t

Answer, Write a program to find the area under the curve y = f(x) between x...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

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