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

Decision trees, Decision Trees: Visualize you only ever do four things...

Decision Trees: Visualize you only ever do four things at the weekend such as go shopping or watch a movie or play tennis and just stay in. In such case what you do depends on

Differentiate between EPROM and EEPROM, Differentiate between EPROM and EEP...

Differentiate between EPROM and EEPROM. EPROM: The meaning of this term is Erasable PROM. This can be reprogrammed through first erasing the existing program. EPROM uses N-MO

Device controllers, All components of computer communicate with processor b...

All components of computer communicate with processor by the system bus. Which means I/O devices required to be attached to system bus. But I/O devices aren't connected directly to

Virtual memory - computer architecture, Virtual memory: Virtual memory...

Virtual memory: Virtual memory is a technique which realized an application program the idea that it has contiguous working memory (an address space), whereas in fact it may b

Computer peripherals, Describe the 8251 A programmable communication interf...

Describe the 8251 A programmable communication interface

Explain about 4-bit adder-subtractor circuit, Q. Explain about 4-bit adder-...

Q. Explain about 4-bit adder-subtractor circuit? Subtraction operation on binary numbers can be obtained by succession of addition operations only it implies that to achieve su

What is the vertical organizational structure, What is the Vertical Organiz...

What is the Vertical Organizational Structure? This is a traditional approach that is typified by a functional approach to work in that departments work onto tasks relevant to

What is the meaning of aliasing, a. What is the meaning of aliasing? What a...

a. What is the meaning of aliasing? What are its drawbacks? Describe a method to remove aliasing, using post filtering. b. How can you copy a Pixmap from one place to another

What is functions indention, Use tabs to bring some structure into your fun...

Use tabs to bring some structure into your function body if(nPos > 1) then nRetrun = True else nRetrun = False end if

What are desirable features of an electronic market place, What are the des...

What are the desirable features of an Electronic Market Place? Features of an Electronic Market Place: 1. Its electronic and business center is not a physical building qu

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