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

Identify free memory areas in allocation and de-allocations, Name and expla...

Name and explain the popular techniques to identify free memory areas as a result of allocation and de-allocations in a heap. Two well-liked techniques to identify free memory

What is a thread, What is a thread? A thread otherwise called a lightwe...

What is a thread? A thread otherwise called a lightweight process (LWP) is a basic unit of CPU utilization, it comprises of a thread id, a program counter, a register set and a

Differences between one hot and binary encoding, What are differences betwe...

What are differences between one hot and binary encoding? Common classifications used to explain the state encoding of an FSM is Binary or highly encoded and one hot. A bina

C++, pebble merchant

pebble merchant

Differentiate among validation and exception testing, Differentiate between...

Differentiate between validation and exception testing. - Validation testing is done to test software in conformance to requirements specified. It aims to demonstrate that soft

Fundamental building block of main memory, Q. Fundamental building block of...

Q. Fundamental building block of main memory? The fundamental building block of main memory remains DRAM chip as it has for decades. Till recently there had been no important c

Define programmable logic array and programmable array logic, Define Progra...

Define Programmable Logic array & Programmable Array Logic? Combinational ckt is implemented with ROM Do not care conditions become an address input. PLA is alike to ROM. PLA d

Explain the term confidentiality - firewall design policy, Explain the term...

Explain the term Confidentiality - Firewall Design Policy Whilst some corporate data is for public consumption, the vast majority of it should remain private.

Define about classes of object oriented modelling, Define about classes of ...

Define about classes of object oriented modelling A class is a collection of things, or concepts that have the same properties. Each of these concepts or things is known an obj

Why spc is used, SPC is used for (A)  Carrying Exchange Control Functi...

SPC is used for (A)  Carrying Exchange Control Functions (B)  Carrying Subscriber Control Functions (C)  Exchange Hardware (D)  Signalling Purpose Ans:

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