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

Difference between panel and group box classes, Difference between Panel an...

Difference between Panel and Group Box classes? Panel & Group box both can used as container for other controls like radio buttons & check box. The dissimilarity in panel & gro

Which function type is used for using "at exit-command", Which Function typ...

Which Function type has to be used for using "at exit-command" ? To Use AT EXIT - COMMAND, We must assign a function Type "E" to the relevant function in the MENU Painter OR S

Which technique are used to gain on the number pairs, Explain the technique...

Explain the techniques, which are used to gain on the number pairs. In rural areas, subscribers are usually dispersed. This is both unessential and expensive to give a dedicate

Electric circuit analysis, mmmmmmmmmmmmm mmmmmmm s s s s s s s s s d d d ...

mmmmmmmmmmmmm mmmmmmm s s s s s s s s s d d d d d d d d d d d d d d f f ff g gg g g g g gg r r r rr r w ww w w ww w w

Explain time sharing operating system, Explain Time sharing operating syste...

Explain Time sharing operating system. Time sharing: It is also called as multi tasking, is a logical execution of multiprogramming. Multiple jobs are executed through the C

Describe the difference between cache and virtual memory, Question 1: (...

Question 1: (a) What do you meant by an expert system? (b) Describe benefits of the EDI. (c) Describe what you understand by: (i) File Infectors (ii) Boot Sect

What is charge-coupled devices, Q. What is Charge-coupled Devices? CCDs...

Q. What is Charge-coupled Devices? CCDs are employed for storing information. They have arrays of cells that can hold charge packets of electron. A word is signified by a set o

Explain load sharing processor configuration of spc, Explain how a centrali...

Explain how a centralized SPC organization works under load sharing operation. Under load sharing operation, an incoming call is allocated randomly or in a predetermined sequen

State about movable joystick, State about movable joystick In another t...

State about movable joystick In another type of movable joystick, the stick is used to activate switches that cause the screen cursor to move at a constant rate in the selected

What is branch folding, What is branch folding? The instruction fetch u...

What is branch folding? The instruction fetch unit has implemented the branch instruction concurrently with the implementation of other instructions. This technique is referred

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