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 about compact disk rewritable, Q. Illustrate about Compact Disk ...

Q. Illustrate about Compact Disk Rewritable? CD-RW optical disk can be repeatedly written and overwritten same as with a magnetic disk. Even though a number of techniques have

What is analysis iteration, Analysis Iteration   To understand any prob...

Analysis Iteration   To understand any problem completely you have to repeat task which implies that analysis requires repetition. First, just get overview of problem, make a r

Computer architecture basics, Computer Architecture Basics: Some of co...

Computer Architecture Basics: Some of computer architecture at companies such like AMD and Intel uses more fine distinctions: Macro architecture- this is an architectura

Explain floating point arithmetic pipelines, Floating point Arithmetic pipe...

Floating point Arithmetic pipelines Floating point calculations are the best candidates for pipelining. Take the illustration of addition of two floating point numbers. Subsequ

Define the types of software life cycle, Define the types of software life ...

Define the types of software life cycle Any system progress refers to the initial part of the software life cycle: analysis, design, and implementation. During object oriented

Describe about the digital cameras, Describe about the Digital cameras ...

Describe about the Digital cameras The microprocessor would be used to control the below functions, for instance: - shutter speed - lens focus - Flash - Aperture (l

What is smtp, SMTP is a Protocol used for transferring message among en...

SMTP is a Protocol used for transferring message among end user & Mail Server.

What is reflection, What is Reflection?  It extends the benefits of met...

What is Reflection?  It extends the benefits of metadata by permitting developers to inspect and use it at runtime. For example, dynamically verify all the classes contained in

Call the masm procedure, Assignment:  write a C program and a MASM procedur...

Assignment:  write a C program and a MASM procedure.  The C program calls the MASM procedure to perform letter case conversion. Text sections covered:  12.1 to 12.3.1 Write a

Computer graphics, What is intractive graphics and user dialouge in comput...

What is intractive graphics and user dialouge in computer graphics

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