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

Determine 8-input multiplexer IC in the TTL family, The commercially availa...

The commercially available 8-input multiplexer integrated circuit in the TTL family is ? Ans. In TTL, MUX integrated circuit is 74153.

What is fork swap, What is Fork swap? "Fork ()" is a system call to mak...

What is Fork swap? "Fork ()" is a system call to make a child process. When the parent process calls "fork()" system call, the child process is formed and if there is short of

What is the efi shell?, The EFI community has formed an open source shell e...

The EFI community has formed an open source shell environment. Rather than booting directly into a full OS, on some executions, the user can boot to the EFI shell. The shell is an

What is a multiplexer tree, What is a Multiplexer Tree? Ans Multip...

What is a Multiplexer Tree? Ans Multiplexer Tree: The largest available MUX IC is 16 to 1. Meeting the larger input requires there must be a provision to expand this. It

Describe the contents of a process control block, Describe the contents of ...

Describe the contents of a Process Control Block (PCB). Process Control Block (PCB): All processes are represented in the operating system by a task control block or a proces

Illustrate what is a centrifugal force, Q. Illustrate what is a Centrifugal...

Q. Illustrate what is a Centrifugal Force? Answer:- Centrifugal force is the force that is equivalent in magnitude but opposite in direction to the centripetal force which

Determine the bandwidth requirement of a telephone channel, The bandwidth r...

The bandwidth requirement of a telephone channel is (A)  3 KHz                                      (B)  15 KHz (C)  5 KHz                                      (D)  25 KH

Micooperation, please suggest me ,how to write microopertions,and study for...

please suggest me ,how to write microopertions,and study for computer architecture

What do you mean by single construct in fortan, Q. What do you mean by Sing...

Q. What do you mean by Single Construct in FORTAN? Single construct specifies the associated structured block is executed by just one thread in team (not essentially the master

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