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

Representation in prolog - logic programs, Representation in Prolog - Logic...

Representation in Prolog - Logic Programs : Artificial intelligence If we impose some more constraints on first order logic, then we get to a representation language known as l

What is the use of buffer register, What is the use of buffer register? ...

What is the use of buffer register? The buffer register is used to avoid speed mismatch among the I/O device and the processor.

Create the website home page, Now when a site structure is set up for stori...

Now when a site structure is set up for storing pages and assets for Compass site, you'll create the first page-a home page for the site. As you build this page, you will add text,

Manipulate the presentation and attributes interactive list, How can you m...

How can you manipulate the presentation and attributes of interactive lists? ---Scrolling by Interactive Lists. ---Setting the Cursor from within the Program. ---Changing

Block diagram of an associative memory, Q. Block diagram of an associative ...

Q. Block diagram of an associative memory? The block diagram of an associative memory is displayed in Figure below. It comprises of a memory array and logic for m words with n

Show the ranges of port numbers, Q. Show the ranges of Port numbers? P...

Q. Show the ranges of Port numbers? Port numbers are divided into three ranges: Well-known ports are those from 0 through 1,023. Registered ports are those from

How many flip flops are required to construct decade countr, How many flip ...

How many flip flops are required to construct a decade counter ? Ans. 4 FlipFlop's are required because decade counter counts 10 states from 0 to 9 (that is from 0000 to 1001).

Symbolic reasoning, An expert system also represents knowledge symbolica...

An expert system also represents knowledge symbolically as sets of symbols that stand for problem concepts. In AI jargon symbol is a string of characters that stands for

Associative array processing, Associative Array Processing Consider tha...

Associative Array Processing Consider that a list of record or a table is stored in the memory and you want to search some information in that list. For example, the list havin

Instruction set architecture - assembly language, Instruction Set Architect...

Instruction Set Architecture (ISA): The Instruction Set Architecture (ISA) is the part of the processor which is noticeable to the compiler writer or programmer. The ISA serve

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