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

Performance instrumentation, The performance instrumentation states on how ...

The performance instrumentation states on how to efficiently gather information about the computation of the parallel computer. The process of instrumentation mainly attempts to ca

Explain concurrent sharing, Explain Concurrent Sharing Here a number of...

Explain Concurrent Sharing Here a number of programs that may share a file simultaneously. While this is the case, it is necessary to prevent mutual interference among them. Th

What is the difference among scrollbar and scrollpane, A Scrollbar is a Co...

A Scrollbar is a Component, but not a Container while Scrollpane is a Container and handles its own events and do its own scrolling.

What do you understand by a file system, Problem (a) What do you mean...

Problem (a) What do you meant by a file system? (b) Mention the five categories of data for a basic file system reference model. What is the use of such a reference model

In virtual memory system addresses used by the programmer, In a virtual mem...

In a virtual memory system, the addresses used by the programmer refers to  (A) Memory space.               (B) Physical addresses.   (C) Address space.                (D) M

Explain the biometric systems and biometric authentication, Explain the Bio...

Explain the Biometric Systems in brief. Biometrics: It is the science of measuring physical properties of living beings. Biometric Authentication: (a) This authenticati

Explain frequency division multiplexing, Explain FDM and show how CCITT sta...

Explain FDM and show how CCITT standards help in building the base band? Frequency Division Multiplexing: This is the process of combining some information channels through s

What is a accepting computation history, What is a accepting computation hi...

What is a accepting computation history?  An accepting computation history is explained as , Let M be a Turing machine and w be a input string,  for M on w is a sequence of con

Struct and class, https://dl.dropbox.com/u/41918180/Images/Pro%202/2.png ...

https://dl.dropbox.com/u/41918180/Images/Pro%202/2.png https://dl.dropbox.com/u/41918180/Images/Pro%202/3.png https://dl.dropbox.com/u/41918180/Images/Pro%202/4.png">https://dl.d

What are various ids associated with a process, What are various IDs associ...

What are various IDs associated with a process? Unix identifies each process with a unique integer known as ProcessID. The process that implements the request for creation of a

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