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

What is assembly, What is assembly Assemblies are the building blocks o...

What is assembly Assemblies are the building blocks of .NET Framework applications; they variety the fundamental unit of deployment, version control, reuse, activation scoping,

Explain booth''s multiplication algorithm, Computer Organization 1. Dr...

Computer Organization 1. Draw a flowchart of a Booth's multiplication algorithm and explain it. 2. What is the concept of memory interleaving? 3. Explain virtual memory? Expla

Programming with loops and comparisons, Q. Programming with loops and compa...

Q. Programming with loops and comparisons? This segment deals with more practical illustrations employing comparison, loops and shift instructions. Simple Program Loops

Explain metadata, What is metadata? Metadata is data that explains anot...

What is metadata? Metadata is data that explains another data. Class definition is metadata. Models are inherently metadata as they explain the things being modeled.

Compare pre-emptive and non-preemptive scheduling policies, Compare pre-emp...

Compare pre-emptive and non-preemptive scheduling policies. We preempt the currently executing process in preemptive scheduling. In non-preemptive we permit the current process

What is exception, a. Explain about exception? When do they occur? Show usi...

a. Explain about exception? When do they occur? Show using an example how to give your own exception handler. b. Can you restrict the types of exception that a function can thro

Difference among interrupt service routine and subroutine, Subroutine are t...

Subroutine are the part of implementing processes (like any process can call a subroutine for achieve task), whereas the interrupt subroutine never be the part. Interrupt subroutin

Define assembly, Define Assembly Assembly is a one deployable unit that...

Define Assembly Assembly is a one deployable unit that contains information about the execution of classes, structures and interfaces. it also keeps the information about itsel

Information gain, Information Gain: Now next here instantly return to ...

Information Gain: Now next here instantly return to the problem of trying to determine the best attribute to choose for a particular node in a tree. As in the following measur

Why do we call motherboard a motherboard, Motherboard is called as motherbo...

Motherboard is called as motherboard because in the world all borned creature is directly attached to her mother & after it all the relations makes due to her mother so in the simi

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