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

First order logic, "George has a dog called Ernie, which is a trained Labra...

"George has a dog called Ernie, which is a trained Labrador. Trained Labradors and poodles are obedient, and all obedient dogs are good dogs. All good dogs that have a master will

Discuss functioning of different network access equipments, Discuss the fun...

Discuss the functioning of different network access equipments. The E1 multiplexers MX2000 and MX2411 and E1/T1 MX200 are giving multi interface user access to network PDH or S

Online teaching jobs, Dear, I''m an engineering post graduate in computer s...

Dear, I''m an engineering post graduate in computer science. I would like to work as online tutor. please suggest ideas. Thank You.

When will the current screen processing terminates, When will the current s...

When will the current screen processing terminates? A current screen processing terminates when control reaches either a Leave-screen or the end of PAI.

What do you mean by prototype, Q. What do you mean by Prototype? A prot...

Q. What do you mean by Prototype? A prototyping approach lay emphasis on the construction model of a system. Designing and building a scaled-down though functional version of a

Minimum and maximum algorithm, For this assignment, you will need to create...

For this assignment, you will need to create an ARM assembly language code routine that implements an algorithm to search through an array and find BOTH the minimum and maximum val

Explain 32 to 1 multiplexer tree, Why is Multiplexer Tree needed? Draw ...

Why is Multiplexer Tree needed? Draw the block diagram of a 32:1 Multiplexer Tree and explain how input is directed to the output in this system. Ans. One of the possible

Explain difference between macro call and macro expansion, Explain differen...

Explain difference between macro call and macro expansion. Macro expansion: While a macro name is used along with a set of actual parameters this is replaced through a code g

Assembly Language program, How to get an output: Please enter a number betw...

How to get an output: Please enter a number between 0 and 6 (Enter to stop): 2 The Day of Week is Tuesday Please enter a number between 0 and 6 (Enter to stop): 9 Input Invalid Ple

How to write good assembly programs, Preparation of writing the program ...

Preparation of writing the program 1.  Write an algorithm for your program closer to assembly language. For instance the algorithm for preceding program will be: get NUM1

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