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

excitation diagram indicating , a.  Sketch the excitation diagram indicati...

a.  Sketch the excitation diagram indicating the last states and next states. b. Build the circuit using a Synchronous Counter with JK FF and NAND gates only. Replicate the circ

C program, program for finding the area under the curve   #includ...

program for finding the area under the curve   #include float start_point, /* GLOBAL VARIABLES */ end_point, total_area; int

Objectives-classification of parallel computers , Objectives After goi...

Objectives After going through this unit, you should be able to: Describe the diffrent criteria on which classification of parallel computers are based; Examine the

Dbms., what is cascade rollback

what is cascade rollback

Show the properties of text box, Q. Show the properties of Text Box? Th...

Q. Show the properties of Text Box? The tag is used to specify where user input is expected. It has several attributes, of which TYPE attribute is used to specify th

What is the functionality of remote login, What is the functionality of Rem...

What is the functionality of Remote Login? Remote Login gives similar functionality of telnet, along with the added functionality of not involving a password from trusted cli

Risks by financial service provider perspective, What are the risks by fina...

What are the risks by financial service provider's perspective in Electronic Payment Systems? Through the financial service provider's perspective: • Stolen service or c

What are compilers and interpreters, What are compilers and interpreters? ...

What are compilers and interpreters? Compiler and Interpreter: These are two types of language translators. A compiler changes the source program (user-written program) int

How debugger works internally, Whenever we compile with -g option, it will ...

Whenever we compile with -g option, it will make a symbol table, and according that table for every function and line it will call ptrace.

What is xml, XML is the Extensible Markup Language. It betters the function...

XML is the Extensible Markup Language. It betters the functionality of the Web by letting you recognize your information in a more accurate, flexible, and adaptable way. It is e

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