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

Finest way to get a reference to the viewport, What is finest way to get a ...

What is finest way to get a reference to the viewport from anywhere in the code? Ans) You can use refs config to set a reference on the Application/Controllers

Show block diagram of sequential circuits, Q. Show block Diagram of sequent...

Q. Show block Diagram of sequential circuits? A sequential circuit is an interconnection of storage elements and combinational circuits. The storage elements known as flip-flop

What is task gantt, Task Gantt   Task Gantt shows different tasks being...

Task Gantt   Task Gantt shows different tasks being performed it implies that numerous kind of activities by set of processors connected to parallel computer as displayed in Fi

What are the touch panels, What are the Touch Panels In case of touch p...

What are the Touch Panels In case of touch panels, displayed objects or screen positions is allowed to be selected with the touch of a finger. A typical application of touch pa

The field sy-dynr, The field SY-DYNR refers to Number of the current sc...

The field SY-DYNR refers to Number of the current screen.

Write an algorithm for the braking system, Question: a) Consider a car ...

Question: a) Consider a car having a collision detection mechanism. Write an algorithm (in simple English) to illustrate the collision detection mechanism. b) The same car

Explain about api s of olap, Microsoft in the late 1997 introduced a standa...

Microsoft in the late 1997 introduced a standard API called as OLE DB. After which XML was used for analysis specification and this specification was largely used by a lot of vendo

Existential construction - artificial intelligence, The English existential...

The English existential construction involves so-called there-sentences such as these: (1)  There is a dog in the yard (2)  There were no children at the party (3)  There

Differentiate between validation and simulation, Question 1: a) Name a...

Question 1: a) Name and give a brief description of three Real-Time Systems. b) State three downfalls of Embedded Systems. c) Differentiate between a microprocessor an

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