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

Paged virtual memory - computer architecture, Paged virtual memory: Mo...

Paged virtual memory: Mostly all implementations of virtual memory divide the virtual address space of an application program into pages; a page is a block that contains conti

Differentiate concurrent and parallel executions, Differentiate concurrent ...

Differentiate concurrent and parallel executions ? The words "parallel "and "concurrent" are often used interchangeably, however they are different. Parallel execution is connec

Design of a software system, The aim of this Assignment is to demonstrate k...

The aim of this Assignment is to demonstrate knowledge about the analysis and design of a software system and understanding of the application of an object-oriented metho

Define the meaning of registers and counting, Define the meaning of Registe...

Define the meaning of Registers and Counting? Registers: Group of flip-flops use for data storage. Counting: Another extremely important application of flip-flops is in dig

Where signalling transfer point exist, Signalling transfer point (STP) exis...

Signalling transfer point (STP) exist in (A) Strowger exchange                  (B)  SS7 (C)  Local area network                 (D)  PABX Ans: STP that is stand f

What is compound statement, What is compound statement If we wish to ha...

What is compound statement If we wish to have more than one statement following the if or the else, they should be grouped together between curly brackets. Such a grouping is c

What is control unit, What is Control Unit Control Unit: The control u...

What is Control Unit Control Unit: The control unit issue control signals to perform exact operation and it directs the entire computer system to carry out keeps program instr

Relation ship, what is relationship among objects in software engineering??...

what is relationship among objects in software engineering??

What are the steps involved in authentication, What are the steps involved ...

What are the steps involved in authentication? Steps in Authentication The control over the access of the resources in the repository is exercised in two steps namely Auth

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