Data Structures and Algorithms in Java
Data Structures and Algorithms in Java
6th Edition
ISBN: 9781118771334
Author: Michael T. Goodrich
Publisher: WILEY
bartleby

Concept explainers

Expert Solution & Answer
Book Icon
Chapter 5, Problem 22C

Explanation of Solution

Recursive method to determine the sum of two elements is equal to “n”:

Create the method FindPair() that accepts the input parameter as “a”, “low”, “high”, and “n” to determine the sum of two elements in an array “a” is equal to “n” by calling this method recursively.

Method definition:

//Define the FindPair() method

public static boolean FindPair(int a[], int low, int high, int n)

{

  //Check whether the "low" is equal to "high"

  if(low == high)

/*Return false, if there are no elements in array "a" that sum is equal to "n". */

  return false;

/*Otherwise, check whether the sum of "a[low]" and "a[high]" is less than "n". */

  else if((a[low]+a[high]) < n)

/*Call FindPair() method recursively by passing the parameters as "a", "low+1", "high" and "n" to sum the two elements is equal to "n". */

  return FindPair(a, low+1, high, n);

/*Otherwise, check whether the sum of "a[low]" and "a[high]" is greater than "n". */

  else if((a[low]+a[high]) > n)

/*Call FindPair() method recursively by passing the parameters as "a", "low", "high-1" and "n" to sum the two elements is equal to "n". */

  return FindPair(a, low, high-1, n);

  else

/*Return true, if there are elements in array "a" that sum is equal to "n". */

  return true;

}

Explanation:

In the above code,

  • In the FindPair() method,
    • It accepts the input parameter as “a”, “low”, “high”, and “n”.
    • Check whether the “low” is equal to “high”. If yes,
      • Return false, if there are no elements in array “a” that sum is equal to “n”.
    • Otherwise, check whether the sum of “a[low]” and “a[high]” is less than “n”. If yes,
      • Call FindPair() method recursively by passing the parameters as “a”, “low+1”, “high”,  and “n” to sum the two elements is equal to “n”...

Blurred answer
Students have asked these similar questions
Design and draw a high-level "as-is" process diagram that illustrates a current process related to a product or service offered through the SSDCI.gov database.
Compare last-mile connections for connecting homes and businesses to the Internet
Explain wireless networking standards
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:9781337102124
Author:Diane Zak
Publisher:Cengage Learning