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 error detection code, What is Error detection code? It is a bin...

What is Error detection code? It is a binary code that notice digital errors during transmission. The detected errors cannot be correct but the presence is shown.

Differentiate between exception and validation testing, Differentiate betwe...

Differentiate between exception and validation testing. - Validation testing is done to test the software in conformance to the needs specified. It aims to demonstrate that the

Design new registration system, WestEast College hires you as a systems ana...

WestEast College hires you as a systems analyst to design its new admission/registration system. WestEast College is one of the top ranked schools in the United States. It is a

Derivatives and applications of derivatives, What can you say about the exi...

What can you say about the existence of a stationary point in the interval [ 1; 3] for the function f (x) = x 2 2x 3.

Explain the term thread scheduling, Problem: a) Most RMI and RPC system...

Problem: a) Most RMI and RPC systems expect to be supported by the "Request-Reply Protocol". Describe what "Request-Reply Protocol" is. b) Describe the invocation semantics

print the sum of the numbers in the file, Make a file which kepts on every...

Make a file which kepts on every line a letter, a space, and a real number.  For example, it may look like this: e 5.4 f 3.3 c 2.2 f 1.1 c 2.2 Write a script that uses textscan to

History of e-commerce, In 1960: The purpose of e-commerce was to exchange t...

In 1960: The purpose of e-commerce was to exchange the electronic data. In 1970s: Electronic Fund Transfers or EFT was developed which considered as huge impact in the emerging

What is arithmetic pipeline, What is arithmetic pipeline?  Pipeline ari...

What is arithmetic pipeline?  Pipeline arithmetic units are usually found in very high speed computers. They are used to execute floating point operations, multiplication of fi

#title.sequential circuit, design modulo 12 up synchronous counter using t ...

design modulo 12 up synchronous counter using t flip flop

explain compiler, Compiler is used to change the high-level language progr...

Compiler is used to change the high-level language program into machine code at a time. It doesn't needs special instruction to store in a memory, it keeps automatically. The imple

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