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

Explain the meaning of bind socket primitive, Explain the meaning of BIND s...

Explain the meaning of BIND socket primitive The bind Primitiv: While created, a socket has neither a remote address nor a local address. A server utilizes the bind proce

Connectives in first-order logic sentences, Connectives in first-order logi...

Connectives in first-order logic sentences - Artificial intelligence We may string predicates together into a sentence in the same way by utilising connectives that we did for

Discuss various enhanced services of stored program control, Discuss the va...

Discuss the various enhanced services that can be made available to the subscribers because of stored program control. One of the instant benefits of stored program control is

Use of delay loops, A very useful application of assembly is to generate de...

A very useful application of assembly is to generate delay loops. These loops are used for waiting for some time before execution of subsequent instruction. However how to find

Explain session_start subroutines, Can you give an example of what might be...

Can you give an example of what might be best suited to place in the application_Start and Session_Start subroutines? Application Start - We can place code to initialize var

Define hyperlinks, Q. Define Hyperlinks? Hyperlinks, or links are one o...

Q. Define Hyperlinks? Hyperlinks, or links are one of the most significant characteristics of web pages. A link moves us from current page to a destination which is specified i

Robotics artificial intelligence, what is robot?explain different types of ...

what is robot?explain different types of robots with respect to joints.

Explain the semantics of each field of ethernet frame, Give the format of E...

Give the format of Ethernet frame and explain the semantics of each field. An Ethernet frame starts with headers which have three fields. The 64-bit preamble, which precedes th

Operating system, define request edge and assignment edge

define request edge and assignment edge

Give the difference b/w multiprogramming and multiprocessing, Give the diff...

Give the difference between multiprogramming and multiprocessing. A multiprocessing system is a computer hardware configuration which contains more than one independent proc

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