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

EME, How can i made Carnot engine

How can i made Carnot engine

What are the entities that swapped out of the main memory, What are the ent...

What are the entities that are swapped out of the main memory while swapping the process out of the main memory? All memory space occupied by the process, process's u-area, and

Define object oriented and structured development, How object oriented deve...

How object oriented development is dissimilar from structured development object oriented development is dissimilar from structured development of the system. In the structure

Block diagram of an associative memory, Q. Block diagram of an associative ...

Q. Block diagram of an associative memory? The block diagram of an associative memory is displayed in Figure below. It comprises of a memory array and logic for m words with n

What is the purpose of the cpu, Problem 1 a) What is the purpose of th...

Problem 1 a) What is the purpose of the CPU and what can the CPU perform. b) Name the two most common types of software and briefly illustrate each one. c) The CPU con

First-order logic - artificial intelligence, First-Order Logic We, as h...

First-Order Logic We, as humans, have always prided ourselves on our ability to think things through for this reason things are out and come to the only conclusion possible in

What is a shell, What is a shell? A shell is an interactive user interf...

What is a shell? A shell is an interactive user interface to an operating system services that permits an user to enter commands as character strings or by a graphical user int

Collective communications - broadcast, Q. Collective Communications - Broad...

Q. Collective Communications - Broadcast? Broadcast: Broadcasting can be done in two ways one of them is one to all and another one is all to all. In the matter of one to all b

Define message passing, Q. Define Message Passing? The PVM communicatio...

Q. Define Message Passing? The PVM communication model offers asynchronous blocking receive and asynchronous blocking send and nonblocking receive functions. In our terminology

Discuss the process of data mining, Discuss the process of data mining? ...

Discuss the process of data mining? The process of data mining having of three stages: (1)The initial exploration (2) Model building or pattern identification with validat

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