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

How to load dos from floppy disk, Q. How to load DOS from Floppy Disk? ...

Q. How to load DOS from Floppy Disk? If DOS is not setup on the Hard Disk of your PC, or you want to load DOS from the Floppy disk drive due to any reason, follow these steps:

Explain different system calls for performing different task, Write down di...

Write down different system calls for performing different kinds of tasks. The major types of system calls are given as: Process Control: These kinds of system calls are

Define formal language grammar, Define formal language grammar? A forma...

Define formal language grammar? A formal language grammar is a set of formation rules which describe that strings made by the alphabet of a formal language are syntactically va

Explain the boolean equations for logic circuits, Explain The Boolean Equat...

Explain The Boolean Equations for Logic Circuits? A Boolean equation is the mathematical representation of a logic circuit using standard Boolean terms. All the logic gates (AND,

Explain use of parallel sections construct, Q. Explain use of parallel sect...

Q. Explain use of parallel sections construct? This illustration explains use of parallel sections construct. Three functions, fun1, fun2, and fun3, all can be executed simulta

Testing project, Design and test the functions that are needed: a.  Test...

Design and test the functions that are needed: a.  Test Main  in the Testing project add a new file main.c. b.  Test Drivers  in the Testing project add 2 new files, testDriver

Find out the number of control lines for 32 to 1 multiplexer, The number of...

The number of control lines for 32 to 1 multiplexer is ? Ans. For 32 (2 5 ) the number of control lines and to select one i/p between them total 5 select lines are needed.

Uninformed search strategies - artificial intelligence, Uninformed Search S...

Uninformed Search Strategies: To be able to undertake an unaware search, there is really important that the entire agent needs to know is the primary state, then the possible

How do we call one script-fu script from another, he trick to calling scrip...

he trick to calling script-fu-scripts from any more script is to just reference the main define for the script and not to try to use the pdb call. All the scripts in script-fu shar

Explain about different types of mice, Q. Explain about different types of ...

Q. Explain about different types of Mice? Mice can be classified on the foundation of numbers of buttons, position sensing technology or type of Interface:  Sensing Technol

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