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

Build and explain a prototype model-uml, International Coal Coal-fire...

International Coal Coal-fired Power Generation Compared with other fossil fuels, burning coal produces relatively large amounts of atmospheric pollutants: carbon dioxide

Cg, raster scan display system

raster scan display system

Loosely coupled systems, Loosely Coupled Systems These systems do not d...

Loosely Coupled Systems These systems do not distribute the global memory because shared memory concept gives rise to the difficulty  of memory conflicts, which in turn slows d

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

Distinguish between an agent system and an expert system, Problem : (a)...

Problem : (a) The concept of an agent is generally defined by listing the properties that agents exhibit. Identify and describe the properties that you would associate with th

Difference between synchronous and asynchronous updates, What is the differ...

What is the difference between Synchronous and Asynchronous updates? A program asks the system to perform a particular task, and then either waits or doesn't wait for the task

Name the approaches used for generating the control signals, What are the t...

What are the two approaches used for generating the control signals in proper sequence? Hardwired control Micro programmed control

Importance of artificial intelligence, Businesses are interested in AI bec...

Businesses are interested in AI because of the characteristics it offers that no other systems type offers. That is AI ability to: a. Preserve Intelligence and Knowledge: C

Subscript and an index in a table definition, What is the difference betwee...

What is the difference between a subscript and an index in a table definition? Ans) A subscript is a working storage data definition item, typically a PIC (999) where a value mu

Overflow condition in linked list, Overflow condition in linked list may ha...

Overflow condition in linked list may happen when attempting to Make a node when free space pool is empty.

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