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

Multithreaded architecture, Multithreaded Architecture:  It is clear now th...

Multithreaded Architecture:  It is clear now that if we give many contexts to multiple threads, then processors with multiple contexts are known as multithreaded systems. These sys

Instruction of a micro-program, Q. Instruction of a micro-program? A mi...

Q. Instruction of a micro-program? A micro-instruction is an instruction of a micro-program. It specifies one or more than one micro-operations that can be executed concurrentl

Short notes on model primitives in director mx 2004, Question: (a) Prep...

Question: (a) Prepare short notes on the model primitives in Director MX 2004. (b) Therefore using the box primitive write codes to prepare a new model resource of length 50

Explain handlers classification, Handlers Classification In 1977, Wolfg...

Handlers Classification In 1977, Wolfgang Handler suggested a complex notation for representing the pipelining and parallelism of computers. Handler's categorization addresses

Define multiprogramming, Define Multiprogramming. Multiprogramming: ...

Define Multiprogramming. Multiprogramming: A multiprogramming operating system is system which allows extra than one active user program or part of user program to be store

Classification of interrupts - computer architecture, Classification of int...

Classification of interrupts:   1. a) asynchronous   external components or hardware malfunction 1.b)synchronous   function of program state (for example over

Why are arrays usually processed with for loop, The real power of arrays co...

The real power of arrays comes from their facility of using an index variable to traverse the array, accessing every element with the similar expression a[i]. All the is required t

What is a digital comparator, What is a digital comparator? Ans: ...

What is a digital comparator? Ans: Digital Comparator: The comparison of two numbers is an operation which evaluates if one number is greater than, less than, or equival

System software, System Software System software is a group of progr...

System Software System software is a group of programs written to service another programs. Some system software (e.g., compilers editors and file management utilities) proc

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