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

Hill climbing - artificial intelligence, Hill Climbing - Artificial Intelli...

Hill Climbing - Artificial Intelligence: As we've seen, in some problems, finding the search path from primary to goal state is the point of the exercise. In other problems, t

:P, My name is mrs flo and i apporve dubstep, do you apporve it?

My name is mrs flo and i apporve dubstep, do you apporve it?

What is CRC, In a frame transmission, CRC stands for? CRC stands for Cy...

In a frame transmission, CRC stands for? CRC stands for Cyclic Redundancy Check, in a frame transmission.

Generate the output that the temperature entered is outside , Write a pseud...

Write a pseudocode for a program that reads a temperature as a whole number from a user and outputs a "probable" season (winter, sprint, summer, or fall) depending on the temperatu

Define dynamic loading, Define dynamic loading. To get better memory-sp...

Define dynamic loading. To get better memory-space utilization dynamic loading is used. With dynamic loading, a routine is not loaded unless it is called. All routines are kept

Register data type as combinational element, Reg data type as Combinational...

Reg data type as Combinational element module reg_combo_example( a, b, y); input a, b; output y; reg y; wire a, b; always @ ( a or b) begin y = a & b; e

What are the external storage systems, External storage systems A numb...

External storage systems A number of different types of external memory devices are available now. Some of these are considered below (hard drives haven't been mentioned as th

Interconnection network in the form of a linear array, Q. Interconnection n...

Q. Interconnection network in the form of a Linear Array? The sorting problem particularly selected is bubble sort and interconnection network may be represented as n processor

What are controls and how to use them, What are controls? How to use them? ...

What are controls? How to use them? Give examples for control. Controls are objects that can be placed in a form. The dissimilar controls are available in the Tool Box. After

How can i model a bi-directional net, How can I model a bi-directional net ...

How can I model a bi-directional net with assignments influencing both source and destination? Assign statement constitutes a continuous assignment. Changes on the RHS of stat

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