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

Determine the number of classes of ip addresses, The total number of class ...

The total number of class of IP address are? The total number of class of IP addresses are 5.

Classify computer systems according to capacity, Classify computer systems ...

Classify computer systems according to capacity. How they are different from computers according to the classification of technology. Provide comparative study also

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

EDC, Conparision of masfet and jfet

Conparision of masfet and jfet

What is external interrupt, External Interrupt: Interrupt signal came ...

External Interrupt: Interrupt signal came from input-output devices connected external to processor. These interrupts depend on external conditions that are independent of the

Can we delete a domain, Can you delete a domain, which is being used by dat...

Can you delete a domain, which is being used by data elements? No.

Common functions of interrupts - computer architecture, Common Functions of...

Common Functions of Interrupts: An Interrupt transfers control to the interrupt service routine, generally through the interrupt vector table, which contains the addresses

Project, give sample prepaired software?

give sample prepaired software?

Function name or connective symbol, Function name or connective symbol: ...

Function name or connective symbol: Whether if we write op(x) to signify the symbol of the compound operator then predicate name and function name or connective symbol are the

Determine about the the difference engine - pascaline, THE DIFFERENCE ENGIN...

THE DIFFERENCE ENGINE - Pascaline The difference enigne was based on the mathematical principle of finite differences and was used to solve calculations based on large numbers

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