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

fisherpersons are not over-fishing, Prepare the Relational Tables to signi...

Prepare the Relational Tables to signify the following situation, which is defined by means of text and an Entity Relationship Diagram. Note: Do not attempt to vary the ERD. Yo

-bit comparator using combinational logic, Design a 4-bit comparator using ...

Design a 4-bit comparator using combinational logic, and Karnaugh Maps. The inputs of the circuit are two 2-bit numbers. a) Construct the truth table given 2-bits inputs A and B, a

Write a verilog code to swap contents of two registers, Write  a  verilog  ...

Write  a  verilog  code  to  swap  contents  of  two registers  with  and without  a  temporary register? With temp reg : always @ (posedge clock) begin temp=b; b

Software, its language base assignment

its language base assignment

Write an algorithm to outline the macro-expansion, Write an algorithm to ou...

Write an algorithm to outline the macro-expansion using macro-expansion counter. The flow of control throughout macro expansion can be implemented by using a MEC that is macro-

How client and server use same protocol port at same time, Can both client ...

Can both client and server use the same protocol port on the same computer at the same time? Explain. Client and server can't use similar port number on similar computer at ide

Write html code to accomplish the web page to insert frame, Write the HTML ...

Write the HTML code to accomplish the web page to insert the frame extending 300 pixels across the page from left side. The HTML code to accomplish the web page is given below

How will you fine-tune a class, How will you fine-tune a class? It is u...

How will you fine-tune a class? It is useful to fine-tune classes before writing code in order to examine development or to improve performance. The purpose of execution is to

Compare single bus structure and multiple bus structure, Compare single bus...

Compare single bus structure and multiple bus structure? A system that having only one bus(i.e only one transfer at a time) is known as a single bus structure. A system is know

Explain about the network security, Explain about the network security. ...

Explain about the network security. Network security implies the protection of networks and their services through unauthorized access, destruction or disclosure, modificati

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