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

Organization structure, organization stucture of vardhman and oswal mills.c...

organization stucture of vardhman and oswal mills.compare and contrast them

Problems.., what are the different types of tablets?

what are the different types of tablets?

Host computer-array processing, Host Computer:  An array processor may be a...

Host Computer:  An array processor may be attached to a host computer by the control unit. The reason of the host computer is to broadcast a sequence of vector instructions by CU t

Show the features of collaboration systems, Q. What are basic features that...

Q. What are basic features that collaboration systems might have? ANSWER: Three basic features of collaboration systems are Web-conferencing, project management,

Define far and near procedures, Q. Define Far and Near Procedures? Proc...

Q. Define Far and Near Procedures? Procedure offers the primary means of breaking the code in a program into modules. Procedures have one maindrawbackwhich is they need extra c

Explain the differences between logical and physical address, Explain the d...

Explain the differences between Logical and physical address space Logical Vs physical address space (1) An address produced by the CPU is commonly referred to like a logica

JAVA, HOW WAS JAVA INVENTED?

HOW WAS JAVA INVENTED?

Write the html code to webpage to insert scrollable lists, Write the HTML c...

Write the HTML code to accomplish the web page to insert scrollable lists that will always display four entries of the list. The HTML code to accomplish the web page is given b

What is a spanning tree, What is a spanning Tree? A spanning tree is a ...

What is a spanning Tree? A spanning tree is a tree associated with a network. All the nodes of the graph appear on the tree once. A minimum spanning tree is a spanning tree

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