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

Incorporating vbscript into htmlpage, To add scripts into your Web pages ta...

To add scripts into your Web pages tag is used. The tag signifies the start of the script section, whereas marks the end. An example of this is d

Handlers classification, Handler's Classification In 1977, Wolfgang Han...

Handler's Classification In 1977, Wolfgang Handler proposed an detailed notation for expressing the parallelism and pipelining of computers. Handler's classification addresses

Explain the real time process control, Explain the Real time process contro...

Explain the Real time process control Process control is a real time system. Though this is very different to real time (transaction) processing; this system generally involves

What is the role of mar and mdr, What is the role of MAR and MDR? The ...

What is the role of MAR and MDR? The MAR (memory address register) is used to hold the address of the location to or from which data are to be transferred and the MDR(memory d

Decision tree learning for cancer diagnosis, Assignment 1: Decision tree le...

Assignment 1: Decision tree learning for cancer diagnosis In this mini-project, you will implement a decision-tree algorithm and apply it to breast cancer diagnosis. For each p

What is an unsigned integer constant, What is an unsigned integer constant?...

What is an unsigned integer constant? An integer constant is the number in the range of - 32768 to + 32767; because an integer constant always gets two bytes in memory and in t

Fitness function - canonical genetic algorithm, Fitness function - canonica...

Fitness function - canonical genetic algorithm: Conversely the fitness function will use an evaluation function to calculate a value of worth for the individual accordingly th

Associative array processing, Consider that a list of record or a table is ...

Consider that a list of record or a table is stored in the memory and you wish to find some information in that particular list. E.g. the list comprises three fields as displayed b

Determine the term- security, Determine the term- Security When using ...

Determine the term- Security When using Internet, security can be enhanced using encryption. Debit and credit card transactions can also be protected by a specific type of pas

Functions of an operating system, a) In multitasking Operating Systems, th...

a) In multitasking Operating Systems, there are two types of multitasking such as the "Preemptive Multitasking" and the "Cooperative Multitasking". Describe the two mentioned mult

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