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 linq is beneficial than stored procedures, There are couple of benefit ...

There are couple of benefit of LINQ over stored procedures.   1. Debugging - It is really very difficult to debug the Stored procedure but as LINQ is part of .NET, you can us

Address - operand data types, Q. Address - operand data types? A...

Q. Address - operand data types? Addresses : Operands residing in memory are specified by their memory address while operands residing in registers are specified by a re

Difference between static and dynamic RAM, Difference between static and dy...

Difference between static and dynamic RAM. Draw the circuits of one cell of each and explain its working. Ans: Differentiation among Static RAM and Dynamic RAM: Static

What is php, The PHP Hypertext Pre processor is a programming language that...

The PHP Hypertext Pre processor is a programming language that permits web developers to make dynamic content that interacts with databases. PHP is basically used for developing we

What is data link layer, Q. What is Data link layer? Data link layer: ...

Q. What is Data link layer? Data link layer: data link layer is responsible for transmitting a group of bits between adjacent nodes. Group of bits is termed as frame. Network

Which rule is used for the expansion of nested macro calls, The expansion ...

The expansion of nested macro calls done by using of? Ans. LIFO rule is used for the expansion of nested macro calls.

What is batch processing, What is Batch processing In this process, a n...

What is Batch processing In this process, a number of tasks (or jobs) are all collected together over a set period of time. They are then all loaded into the computer system (i

Calculate the complexity of sorting algorithms, How do you calculate the co...

How do you calculate the complexity of sorting algorithms? Find the complexity of Insertion sort and Bubble Sort.                 The difficulty of sorting algorithms depends o

What are the benefits of micro programmed control, a. What are the benefits...

a. What are the benefits of hardwired and micro programmed control? b. Sketch neat diagram of single bus organization of CPU showing ALU, all types of registers and the data pat

Can we run matlab without graphics, Sometimes you may need to run scripts w...

Sometimes you may need to run scripts which have plotting commands without displaying the plots and without going into the script to comment out the commands. An example: if you're

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