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

OR, importance of duality concep? Article Source: http://EzineArticles.co...

importance of duality concep? Article Source: http://EzineArticles.com/4133733

Why select clause comes after from clause in linq, The reason is, LINQ is u...

The reason is, LINQ is used with C# or other programming languages, which needs all the variables to be declared first. From clause of LINQ query just describes the range or condit

Fundamental functional units of a computer, Fundamental functional units of...

Fundamental functional units of a computer: QUE. What are the fundamental functional units of a computer? Ans: A computer consists of 5 functionally independent major parts

Define word length, Define word length?  Every group of n bits is refer...

Define word length?  Every group of n bits is referred to as a word of information and n is known as the word length.

What are the components of loadrunner, The workings of LoadRunner are The V...

The workings of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner examines and Monitoring, LoadRunner Books Online. What Component of LoadRun

Give detail explanation about arithmetic micro-operations, Give detail expl...

Give detail explanation about Arithmetic Micro-operations These micro-operations perform some essential arithmetic operations on numeric data stored in the registers. These bas

What is smtp, SMTP is a Protocol used for transferring message among en...

SMTP is a Protocol used for transferring message among end user & Mail Server.

Explain the fork-join, Explain the fork-join? fork-join: It is prim...

Explain the fork-join? fork-join: It is primitives in a programming language of higher level for implementing interacting processes. The syntax is as given below: fork

How many address bits are required to represent 4K memory, How many address...

How many address bits are required to represent 4K memory ? Ans. 12 address bits are required for representing 4K memory, as 4K = 2 2 x 2 10   = 2 12 Therefore 1K = 1024

Explain classless inter-domain routing, Explain Classless Inter-Domain Rout...

Explain Classless Inter-Domain Routing. It is a new addressing scheme for the internet that permits for more efficient allocation of IP addresses than old class A, B and C addr

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