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

What are stacks, What are stacks? A stack  is an abstract data type in...

What are stacks? A stack  is an abstract data type in which items are additional to and removed only from one end known as TOP. For example, consider the pile of papers on you

Mathematical model, how to write mathematical model for circular linked lis...

how to write mathematical model for circular linked list

C Programming, Program about railway reservation system using structure . G...

Program about railway reservation system using structure . Get 10 names,their gender ,address , seats availability according to trains and some extra datas

Big – endian and little- endian representations, Explain Big - Endian and L...

Explain Big - Endian and Little- Endian representations Ans: The Big- endian is used where lower byte addresses are used for the more significant bytes (leftmost bytes) of the

What is critical section problem, What is critical section problem?  Co...

What is critical section problem?  Consider a system having of 'n' processes. Each process has segment of code known as a critical section, in which the process may be changing

Cheques vs credit cards, Cheques vs Credit Cards       E-cheques:  E-ch...

Cheques vs Credit Cards       E-cheques:  E-cheques are used for business dealing in e-commerce.  Transactions of these cheques take place on Internet. In this system the elect

Cost involved in inter - processor communication, Cost Involved in Inter-Pr...

Cost Involved in Inter-Processor Communication Because data is assigned to too many processors in a parallel computer whilst executing a parallel algorithm processors may be ne

Assembler, Assembler: Typically a modern assembler makes object code b...

Assembler: Typically a modern assembler makes object code by translating assembly instruction into op codes, & by resolving symbolic names for memory locations and any other e

Advantages offered by data mining, Advantages offered by Data Mining: 1...

Advantages offered by Data Mining: 1.  Facilitates discovery of knowledge from big, massive data sets. 2.  Can be used within dissimilar application areas by Fraud detection

Assembly language programming, I need help to create test cases for the MIP...

I need help to create test cases for the MIPS Instruction set architecture

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