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

Compute physical address of data byte, Q. Compute Physical address of data ...

Q. Compute Physical address of data byte? Offset of data byte = 0020h Value of data segment register (DS) = 3000h Physical address of data byte   This computation

Explain about programmable logic array, Q. Explain about Programmable Logic...

Q. Explain about Programmable Logic Array? Until now individual gates are considered as fundamental building blocks from that different logic functions can be derived. With the

Mpi communications, We have to use 3 MPI communications: Plz the code in C+...

We have to use 3 MPI communications: Plz the code in C++     1.  MPI_Scatter 2.  MPI_Alltoall 3.  MPI_Gather     **The length of the array will be determined by the user Fir

Design a memory buffer of limited size, Extend task 1 so that it now suppor...

Extend task 1 so that it now supports a memory buffer of limited size. Provide the same functionality as task 1 except now make the server work with a limited buffer size. Like

What is a match code, What is a Match Code? Match code is a tool to hel...

What is a Match Code? Match code is a tool to help us to find for data records in the system. Match Codes are an proficient and user-friendly search aid where key of a record i

Logical database structure, It is not essential to maintain the Parent-Chil...

It is not essential to maintain the Parent-Child relationship among the tables in Logical Database Structure. False. One has to handle the Parent-Child relationship.

The major underlying concepts of object orientation, Objects, messages, cla...

Objects, messages, class, inheritance and polymorphism are the major concepts of object orientation.

Why gateways are used during mail transfer, Why Gateways are used during ma...

Why Gateways are used during mail transfer? Email using SMTP effort best while both the sender and the receiver are on the internet and can hold TCP connections in between send

Explain the term- scan insertion, Explain the term- Scan Insertion Sca...

Explain the term- Scan Insertion Scan Insertion is completed by a tool and results in all (or most) of your design's flip-flops to be changed by special "Scan Flip-flops". Sca

Device drivers in unix, Device Drivers in UNIX, MS-DOS and Windows System ...

Device Drivers in UNIX, MS-DOS and Windows System Though device drivers are in effect add-on modules they are however considered to be part of system because they are closely i

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