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

Display data in the combo box, Which property on a Combo Box do you set wit...

Which property on a Combo Box do you set with a column name, prior to setting the Data Source, to display data in the combo box? ComboBox.DataValueField = "ColumnName" When

two arguments are passed, The velocity of sound in air is 49.02 feet p...

The velocity of sound in air is 49.02 feet per second where is the air temperature in degrees Rankine.  Write a function to execute this.  If just 1 argument is passed to the f

Calculate quantities from information in bayesian network, 1. A Bayesian ne...

1. A Bayesian network is shown for the variables paper Thickness, paper Alignment and Print Quality. The conditional probabilities are provided in the tables beside the nodes. Here

Define the difference between union and structure, Define the difference be...

Define the difference between union and structure The main difference between union and structure is the storage allocation. In Union , for each variable the compiler allocates

Milestones, Here are some common development milestones that  you should ai...

Here are some common development milestones that  you should aim for: 1. Send a packet over. Send an acknowledgement back. 2. Have checksum algorithm executed 3. Ability t

Expand cpi-c, Expand CPI-C. CPI-C= Common Program Interface Communica...

Expand CPI-C. CPI-C= Common Program Interface Communication.

Boolean algebra, Prove the following Boolean identities using the laws of B...

Prove the following Boolean identities using the laws of Boolean algebra (A + B)(A  + C) = A + BC Ans. (A+B)(A+C)=A+BC LHS AA+AC+AB+BC=A+AC+AB+BC OR  A((C+1)+A(B+1))+BC

How physical addressing is performed in wan, How physical addressing is per...

How physical addressing is performed in WAN?  WAN networks operate as similar to a LAN. All WAN technology describes the specific frame format a computer uses while sending an

Define memory management system, Define memory management system? The p...

Define memory management system? The part of the computer system that supervises the flow of information among auxiliary memory and main memory is known as memory management sy

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