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 are the types of assemblies, What are the Types of Assemblies? One...

What are the Types of Assemblies? One of the drawback of using Visual Studio.NET and the .NET framework to develop applications has been the lack of cross-platform support. As

What is missing offset, Q. What is Missing offset? The xxxx in machine ...

Q. What is Missing offset? The xxxx in machine language for instruction at line 0010 is there since the assembler doesn't know DATA segment location which will be determined at

Why do businesses need systems analysts, Q. Why do businesses need systems ...

Q. Why do businesses need systems analysts? A computerized system allows an organization to provide accurate information and respond faster to queries, events etc. If a busines

Why is catch almost always a bad idea, Why is catch (Exception) almost alwa...

Why is catch (Exception) almost always a bad idea?  Well, if at that point you know that an error has happened, then why not write the proper code to handle that error instead

Differentiate between transport & session layer of osi model, Differentiate...

Differentiate between Transport and Session layers of OSI model. OSI Model Transport Layer The transport layer utilizes the services provided through the network layer, as

What is digital signature, Digital Signature is Software to recognize si...

Digital Signature is Software to recognize signature

Illustrate about sharing of structure and behaviour, Illustrate about Shari...

Illustrate about Sharing of Structure and Behaviour  One of the reasons for the popularity of object-oriented techniques is that they promote sharing at different levels. Inher

Applications of linked list, What are the Applications of Linked List are ...

What are the Applications of Linked List are a) Fixed block storage allocation b) garbage collection

What are the factors determine the control signals, What are the factors de...

What are the factors determine the control signals? Contents of the control step counter Contents of the instruction register Contents of the condition code flag

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