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

Translate assembly language program to machine , A useful exercise in under...

A useful exercise in understanding assembly language and its relation to machine language is to take a short assembly language program and translate it to machine language by hand.

Communication traffic and message queues, The Communication Traffic gives a...

The Communication Traffic gives a pictorial view of the communication traffic in the interconnection network with respect to the time in progress. The Communication Traffic shows t

Display the map centered on the users location, Question: a) The follo...

Question: a) The following is a description of the navigation options in a mobile web site which provides public bus time slots for a city. It is an interesting service for m

Give examples of different parameter-passing mechanisms, Explain different ...

Explain different parameter passing mechanisms to a function with the help of example? The different parameter-passing mechanisms are given below: 1.   Call by value 2.

Types of addressing modes in assembly language, Types of Addressing Modes: ...

Types of Addressing Modes: Each instruction of a computer mentions an operation on certain data. There are many ways of specifying address of the data to be operated on. These

Recent parallel programming models, A model for parallel programming is an ...

A model for parallel programming is an abstraction in addition its machine architecture is independent. A model is able to be implemented on different hardware and memory architect

Explain the use of ssl to secure the network, Explain the use of SSL to sec...

Explain the use of SSL to secure the network.  SSL (Secure Sockets Layer) is a protocol developed by Netscape for transferring private documents by the Internet. SSL works by u

Explain conditions for the critical section problem solution, What are the ...

What are the properties which a data item should possess to implement a critical section? The Critical Section Problem Solution should satisfy the following conditions: 1.

What is perl, Perl is an interpreted language (not compiled, like Java) whi...

Perl is an interpreted language (not compiled, like Java) which is ideally suited for CGI programming. It has its roots in UNIX system administration and offers various features li

What is the use of urgent pointer in tcp segment, What is the use of urgent...

What is the use of urgent pointer in TCP segment? For accommodation out of band signaling, TCP permits the sender to identify data as urgent, implies that the receiving program

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