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

2 way staircase switch-truth table logic equation & circuit, A staircase li...

A staircase light is controlled by two switches one at the top of the stairs and another at the bottom of stairs a. Make a truth table for this system. b. Write the lo

Calculate blocking probability in a two stage network, In a two stage netwo...

In a two stage network there are 512 inlets and outlets, r=s=24. If the probability that a given inlet is active is 0.8, calculate: Blocking probability Given: N =M =512,

Define the meaning of registers and counting, Define the meaning of Registe...

Define the meaning of Registers and Counting? Registers: Group of flip-flops use for data storage. Counting: Another extremely important application of flip-flops is in dig

Explain telnet, Explain Telnet Telnet is a Remote Login.

Explain Telnet Telnet is a Remote Login.

Advanced topics of html, HTML is made up of many elements, a lot of them ar...

HTML is made up of many elements, a lot of them are overlooked. Though you can develop a Website with the basic knowledge of HTML, to take benefit of many of the advanced features,

Define edge-triggered s-r flip-flop, Define Edge-triggered S-R flip-flop ...

Define Edge-triggered S-R flip-flop Basic Symbol small triangle, called the dynamic input indicator, is used to identify an edge-triggered flip-flop. Truth Table.

Analysis of amdahls law, The outcomes of analysis of Amdahl's law are: 1...

The outcomes of analysis of Amdahl's law are: 1) To optimize the performance of parallel computers, modified compilers need to be developed which should aim to decrease the numb

Example of shared programming using library routines, Q. Example of shared ...

Q. Example of shared programming using library routines? Think about subsequent set of statements  Process A                                  Process B                  :

Logical user-centered interactive design methodology, Question: Logical...

Question: Logical User-Centered Interactive Design Methodology is a methodology that identifies six clear stages to help in software development while keeping the user in mind.

Implement and - or- not gates using bit wise operator, Q. Develop  a menu d...

Q. Develop  a menu driven program to implement AND, OR, NOT gates using and without using  Bit wise operator. The menu  should  be  as follows: I.  Using Bit Wise operator 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