Binary search, Computer Engineering

Assignment Help:

Binary Search

Now that the basic framework is working, it is time to begin implementing a few alternative search functions. Each of these search algorithms have strengths and weaknesses, depending on the distribution of the input and the search keys used. The classic solution to this problem is binary search. Binary search is a divide-and-conquer algorithm. See Levitin [2007] pp 162 for a detailed description of this algorithm.

ALGORITHM BinarySearch (A[0 . . . n - 1], k)
// Non-recursive binary 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: l ← 0; r ← n - 1
2: while l ≤ r do
3: m ← ⌊(l + r)/2⌋
4: if A[m] = k then
5: return m
6: else if k < A[m] then
7: r ← m- 1
8: else

9: l ← m+ 1

10: return -1

Algorithm BinarySearch shows the pseudocode for this solution. Implement the algorithm.


Related Discussions:- Binary search

Define optimistic synchronization, Q. Define Optimistic Synchronization? ...

Q. Define Optimistic Synchronization? Optimistic Synchronization: This method too updates atom by requester process however sole access is granted after atomic operation by abo

What is anonymous file transfer protocol, What is Anonymous File Transfer P...

What is Anonymous File Transfer Protocol? Anonymous FTP: While a FTP client contacts a server, in that case, the daemon will ask for an account number or username and it

Compare excess 3 codes and gray code, Compare excess 3 codes and gray cod...

Compare excess 3 codes and gray code. Ans. Excess 3 Codes 1. This is the other form of BCD code. All decimal digits are coded in 4 bit binary code. 2. The code

Enumerate the design reusability of vhdl, Enumerate the Design reusability ...

Enumerate the Design reusability of VHDL VHDL.  Functions  and  Procedures  may  be  placed  in  a  package  so  that  they  are  available  to  any design-unit which wishes t

Input, what is an input?

what is an input?

draw the precedence diagram , The desired daily output for an assembly ...

The desired daily output for an assembly line is 360 units. This assembly line will operate 450 minutes per day. The following table have information on this product's task times a

Explain the meaning of connect socket primitive, Explain the meaning of ...

Explain the meaning of CONNECT socket primitive. The connect Primitive: Clients utilize procedure connect to establish connection with an exact server. The form is

What types of calendars can you create with google calendar, What types of ...

What types of calendars can you create with Google Calendar? Personal calendars, like default calendar Public calendars, which others can access through the web

Operating system, explain the various types of computer systems

explain the various types of computer systems

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