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

Describe data structures used during passes of assembler, Describe Data str...

Describe Data structures used during passes of assembler and their use. During passes of assembler, the Data structures define as: Pass 1 data base Input source pro

Java''s layout managers give over traditional windowing syste, Java uses la...

Java uses layout managers to lay out components in a consistent manner across all windowing platforms. As Java's layout managers aren't tied to absolute sizing and positioning, the

Expalin johnson counter, Write short note on the Johnson counter. Ans:...

Write short note on the Johnson counter. Ans:  Johnson Counter: It is a synchronous counter, where all flip-flops are clocked concurrently and the clock pulses drive the

Data dictionary, data dictionary for online banking system in software engi...

data dictionary for online banking system in software engineering

Describe the structure and function of a computer system, Question: a) ...

Question: a) Describe the structure and function of a computer system. b) The raw speed of a microprocessor will not achieve its potential unless a constant stream of wor

Explain about the term rtl fix, Explain about the term RTL Fix. RTL Fix...

Explain about the term RTL Fix. RTL Fix: An RTL fix implies you change the Verilog/VHDL code and you resynthesize. This generally means a new Plance and Route. RTL fixes wou

Describe about remote-load latency problem, Q. Describe about Remote-load L...

Q. Describe about Remote-load Latency Problem? When one processor requires some remote loading of data from other nodes then processor has to wait for these two remote load ope

Explain about local area network, Q. Explain about Local Area Network? ...

Q. Explain about Local Area Network? Local Area Network (LAN):  It is privately owned communication systems that cover up a small area, say a complex of buildings or school. Le

Define organizing, Q. Define Organizing? Grouping of related activities...

Q. Define Organizing? Grouping of related activities together, Identification of required activities and forming departments and coordinating various departments with the estab

Fundamental components of a CPU, Q. Fundamental components of a CPU? Th...

Q. Fundamental components of a CPU? The two fundamental components of a CPU are control unit and arithmetic and logic unit. The control unit of CPU selects and interprets progr

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