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

Explain about floating-executive model, Q. Explain about Floating-Executive...

Q. Explain about Floating-Executive model? Floating-Executive model: The master-slave kernel model is too restrictive in sense that only one of processors viz designated master

How address symbol table is generated, Address symbol table is generated by...

Address symbol table is generated by the  (A) memory management software.  (B) assembler.  (C) match logic of associative memory.   (D) generated by operating system

Explain about interrupt cycle, Q. Explain about Interrupt Cycle? On com...

Q. Explain about Interrupt Cycle? On completion of execute cycle the current instruction execution gets completed. At this point a test is made to conclude whether any enabled

Which device changes from serial data to parallel data, Which device change...

Which device changes from serial data to parallel data ? Ans. Demultiplexer is the device that changes from serial data to parallel data. Demultiplexer takes data in from on

Explain segment registers in bus interface unit, Q. Explain Segment Registe...

Q. Explain Segment Registers in bus interface unit? These are very significant registers of CPU. Why? We will answer this later. In 8086 microprocessor memory is a byte organiz

Explain active matrix or thin film transistor technology, Q. Explain Active...

Q. Explain Active Matrix or Thin Film Transistor technology? This is known as TFT (Thin Film Transistor) technology. In this there is a transistor at every pixel acting as a r

What are vectored interrupts, What are vectored interrupts? To decrease...

What are vectored interrupts? To decrease the time involved in the polling process, a device requesting an interrupt may recognize itself directly to the processor. Then the pr

Define throughput, Define throughput?  Throughput in CPU scheduling is ...

Define throughput?  Throughput in CPU scheduling is the number of processes that are completed per unit time. For long processes, this rate might be one process per hour; for s

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