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 the term- verification, Define the term- Verification It is a wa...

Define the term- Verification It is a way of preventing errors when data is copied from one medium to another (for instance from paper to disk/CD or from memory to DVD, etc.).

What is the difference between thread and process, What is the difference b...

What is the difference between thread and process?  Thread - is used to execute more than one program at a time. process - executes single program A thread is a path of e

Build a tv remote control, Communication by devices, such as the HC11 proce...

Communication by devices, such as the HC11 processor, is a key and vital part of most systems that are used in military, commercial, and academic settings.  In fact, most of these

Name various work processes of r/3 system, Name various work processes of R...

Name various work processes of R/3 system? A) Dialog or Online (processes only one request at a time). B) Background (Started at a specific time) C) Update (primary or se

Explain importance of modems used in data transfer, Explain importance of ...

Explain importance of modems used in data transfer and list some of the V-series recommendations. The series also describes a variety of DCEs using different type modulatio

Name two special purpose registers, Name two special purpose registers. ...

Name two special purpose registers. Index register Stack pointer

Write a subroutine in c for toggling the cursor, Write a subroutine in C fo...

Write a subroutine in C for toggling the cursor using old directives. ; ; use small memory model for C - near code segment _DATA SEGMENT WORD   'DATA'   CURVAL EQU   [B

C language, Smugglers are becoming very smart day by day. Now they have dev...

Smugglers are becoming very smart day by day. Now they have developed a new technique of sending their messages from one smuggler to another. In their new technology, they are send

Database, how create database design for pharmacy by diagram and query

how create database design for pharmacy by diagram and query

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