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

Define handshaking, Define Handshaking. Handshaking is a method commonl...

Define Handshaking. Handshaking is a method commonly used to accompany ever data item being transfer with the control signal that show the presence of data in the bus. The unit

Describe the architecture of electronic data exchange, Describe the Electro...

Describe the Electronic Data Exchange (EDI) architecture in brief. Electronic Data Interchange (EDI) may be generally easy to understand as the replacement of paper-based purch

Describe data transfer instructions, Q. Describe Data Transfer Instructions...

Q. Describe Data Transfer Instructions? These instructions transfer data from one location in the computer to another location without altering the data content. Most common tr

Explain about the data logging, Data logging  This technique involves ...

Data logging  This technique involves collecting data automatically using sensors; frequently used when doing scientific experiments or monitoring a system.

Analytical engine by babbage, Charles Babbage 'The grandfather of modern co...

Charles Babbage 'The grandfather of modern computer' had designed two computers: The Difference Engine: It was based on mathematical principle of finite differences and was us

Illustrate tcp - ip networking model, Q. Illustrate TCP - IP Networking Mod...

Q. Illustrate TCP - IP Networking Model? TCP/IP is an acronym for Transmission Control Protocol / Internet Protocol. It is a collection of applications, protocols and services.

What are the kernel threads, What are the Kernel threads Kernel threads...

What are the Kernel threads Kernel threads are supported directly by the operating system .Thread creation; scheduling and management are done by the operating system. Thus the

Explain the importance of computer architecture, Explain the importance of ...

Explain the importance of computer architecture Studying the architecture implies working on machine language programs. However, this isn't practical when we design a computer

Explain elements of language grammer, Explain elements of language Gram...

Explain elements of language Grammer . As proposed through Noam Chomsky, a grammar G contains the following elements: a. A finite set N of non terminal symbols. b. A f

Dynamic cons, i want dynamic cons simple program in c++

i want dynamic cons simple program in c++

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