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

Define memory access time, Define memory access time? The time needed t...

Define memory access time? The time needed to access one word is known as the memory access time. Or It is the time that elapses among the initiation of an operation and the co

Hard-disk acquisition, Problem (a) Forensic methodology consists of t...

Problem (a) Forensic methodology consists of three phases. Briefly explian these three phases. (b) Sometimes it's best not to perform hard-disk acquisition. Provide two

What is branch prediction logic, What is Branch prediction logic Bran...

What is Branch prediction logic Branch prediction logic in Pentium: Pentium microprocessor uses branch prediction logic to decrease the time needed for a branch caused by in

Define relocatable programs, Relocatable programs? Ans. Relocatable pro...

Relocatable programs? Ans. Relocatable programs can be loaded almost anywhere inside the memory.

How do you make an append query, Append query can be used if you would like...

Append query can be used if you would like to add new rows of data to an already active table. The process of making an append query follows these steps they are. ? Basic step

Doubly linked list, A doubly linked list is like a linked list except that ...

A doubly linked list is like a linked list except that each node has a pointer both to the next node in the list and to the previous node in the list. There are also pointers to th

What is jmx architecture, JMX is based on a 3-level architecture:   ?...

JMX is based on a 3-level architecture:   ? The Probe level have the probes (known as MBeans) instrumenting the resources. Also known as the Instrumentation level. ? The A

Calculate a table of responses to all boolean inputs, 1.  The network shown...

1.  The network shown in figure 2 uses neurons with:             (a) Unipolar Binary;             (b) Bipolar Binary. Calculate a table of responses to all four possi

What is use case and use case diagram, What is use case and use case diagra...

What is use case and use case diagram? A use case is a coherent piece of functionality that a system can give by interacting with actors. Use case includes one or more actors a

How do we draw in a different color in gimp, At the bottom of the toolbar t...

At the bottom of the toolbar there is a box with two lesser boxes and an arrow. The uppermost box displays the present foreground color; the lowermost box shows the present backgro

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