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

Assignment help on Operating System and JQuery, I need help on my assignmen...

I need help on my assignments that i need to submit in 10 days. There are total 3-4 assignments on two different subjects: 1) 2-3 assignments in Operating Systems and 2) 1-2 assign

What are the basic features of supply chain management, What are the basic ...

What are the basic features of Supply Chain Management? Features of Supply Chain Management Supply Chain Management uses different methods to find out, affect and chang

What is a compiler, What is a compiler? A Compiler is a program that ac...

What is a compiler? A Compiler is a program that accepts a program written in a high level language and creates an object program.

Explain the real time process control, Explain the Real time process contro...

Explain the Real time process control Process control is a real time system. Though this is very different to real time (transaction) processing; this system generally involves

Parallel computer architecture , Parallel Computer Architecture Intr...

Parallel Computer Architecture Introduction We have talked about the classification of parallel computers and their interconnection networks in that order in units 2 and

Explain briefly the function of layers, Explain briefly the function of dif...

Explain briefly the function of different layers which are covered under end to end layer connectivity. Different layer are as follows: 1. Transport Layer:  This is res

Why we need linker, Q. Why we need linker?  The linker: Joins as...

Q. Why we need linker?  The linker: Joins assembled module in one executable program, Produces an .EXE module and initializes with special instructions to facilitate

What is deadlock in operating system, Explain Deadlock in operating system ...

Explain Deadlock in operating system ? Deadlock: all process in a set of processes is waiting for an event which only a process in the set can cause.

What is drop-down list, A dialog box such as a File menu that have one comm...

A dialog box such as a File menu that have one command until it is clicked when a number of dissimilar commands "drop-down."

What is backward compatible, A program is backward compatible if it can use...

A program is backward compatible if it can use files from an older version of itself. For a file saved in the program to be backward compatible, it must be possible to open the fil

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