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

Design issues of multi-threaded processors, Q. Design issues of Multi-threa...

Q. Design issues of Multi-threaded processors? To accomplish the maximum processor utilization in a multithreaded architecture, the subsequent design issues should be addressed

Microprocessor, illustration of Z80 instruction set Computer

illustration of Z80 instruction set Computer

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

Show independent loops in fortran program, Q. Show Independent loops in for...

Q. Show Independent loops in fortran program? In the subsequent code portion the directives point to the outer two loops are independent. The inner loop allocates elements of A

Methods for organising the associative memory, There are two methods for or...

There are two methods for organising the associative memory based on bit slices: Bit parallel organisation: In this organisation every bit slices which are not masked off,

Explain about subsystem and object of object oriented, Explain about subsys...

Explain about subsystem and object of object oriented modeling A subsystem is a grouping of elements of that constitutes a specification of behaviour offered by other contained

Difference between overlay graph and correlate graph, Overlay Graph: It ove...

Overlay Graph: It overlay the content of two graphs that shares an ordinary x-axis. Left Y-axis on the merged graph show's the present graph's value & Right Y-axis illustrate the v

Determine resources, Consider the following system snapshot using data stru...

Consider the following system snapshot using data structures in the Banker's algorithm, with resources A, B, C, and D, and process P0 to P4:                           Max

What is a user diagram protocol, UDP (User Diagram Protocol) is? It is ...

UDP (User Diagram Protocol) is? It is both Connectionless and Message Oriented.

Task and parallel task, Task A logically discrete sector of a computati...

Task A logically discrete sector of a computational effort. A task is naturally a program or program-like set of instructions that is implemented by a processor.  Parallel

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