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

How to select valid lines for secondary list, How to select valid lines for...

How to select valid lines for secondary list? To stop the user from selecting invalid lines, ABAP/4 offers various possibilities.  At the end of the processing block END-OF-SEL

Ds, explain about relations

explain about relations

Row-major order and column-major order of arrays, Two-dimensional array is ...

Two-dimensional array is represented in memory in following two ways: 1.  Row major representation: To attain this linear representation, the first row of the array is kept in

Binary equivalent of the decimal number 368 , What is the binary equivalent...

What is the binary equivalent of the decimal number 368 ? Ans. 101110000 is the Binary equivalent of the Decimal number 368. From Decimal number to Binary number conversioni

What is dialog box, This is a small window that is demanding your attention...

This is a small window that is demanding your attention. You must respond before you can carry on using the program that shown the dialog box. A dialog box does not have a minimize

Distinguish between complex type and simple type elements, Problem: (a)...

Problem: (a) (i) Distinguish between Complex Type and Simple Type elements. (ii) List two benefits while using XSDs in XML data modeling. (b) Both XML schema and XSL u

Mips - computer architecture, MIPS - computer architecture: The MIPS ...

MIPS - computer architecture: The MIPS ISA, so far 3 instruction formats Fixed 32-bit instruction 3-operand, load-store architecture 32 general-purpose register

Determine flip flop the msi chip is dual edge triggered, The MSI chip 7474 ...

The MSI chip 7474 is ? Ans. MSI chip 7474 is TTL, dual edge triggered D Flip-Flop.

What is the difference between realloc() and free(), The free subroutine fr...

The free subroutine frees a block of memory lastly allocated by the malloc subroutine. Undefined results happen if the Pointer parameter is not a valid pointer. If the Pointer para

Work in standard view, Layout view is helpful for laying out Web pages. How...

Layout view is helpful for laying out Web pages. However you can adjust most of your design elements in Layout view, certain changes should be completed in Standard view. When you

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