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 is byte addressable memory, What is byte addressable memory? The a...

What is byte addressable memory? The assignment of successive addresses to successive byte locations in the memory is known as byte addressable memory.

Explain performance evaluation in parallel computing, Explain Performance E...

Explain Performance Evaluation in parallel Computing In this section, we will discuss the key attributes used to measure performance of a computer system. The performance chara

What is the difference among a canvas and a scroll panel, Canvas is a compo...

Canvas is a component. ScrollPanel is a container. Canvas is a rectangular area where the application can draw or trap input events. ScrollPane executes horizontal and vertical scr

Explain about the term e-brokerage briefly, Explain about the term E-broker...

Explain about the term E-brokerage briefly. An e-brokerage is an investment house which allows you to buy and sell stocks and acquire investment information through its Web sit

General purpose register - assembly language, General purpose register - as...

General purpose register - assembly language: Basic ISA Classes: Accumulator: 1 address add Aacc ←acc + mem [A] Stack: 0 address add to s ←to s+ next G

Classification according to part of instruction and data, Classification ac...

Classification according to part of instruction and data: According to the parts of instruction and data, following parts are identified under this classification: Scal

Difference between visual check and parity check, Difference between Visual...

Difference between Visual check and Parity check Visual check This is checking for errors by comparing entered data with original document (NOTE: this is not the same as

What is electronic data interchange, What is Electronic Data Interchange? ...

What is Electronic Data Interchange? Electronic Data Interchange (EDI): It is used by organizations for transactions which arise on regular basis to a pre-found format.

How does computer know whether arriving frame has ARP msg, How does a compu...

How does a computer know whether an arriving frame contains an ARP message? Explain. The type field into the frame header gives that the frame contains an ARP message. A sender

Where protocol operates to monitor and control n/w devices, Protocol used t...

Protocol used to monitor and control network devices operates at? Protocol operates at application layer to monitor and control network devices operates.

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