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 23C

Explanation of Solution

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

Create the method checkSum() that accepts the input parameter as “A”, “j”, and “k” to determine the sum of two elements in an array “A” is equal to “A[i]” by calling this method recursively.

Method definition:

//Define the checkSum() method

public static boolean checkSum(int A[], int j, int k)

{

  //Loop executes until the array length

  for (int i = 0; i < A.length; i++)

  {

  //Check whether "j" and "k" is less than "i"

  if((i > j) && (k < i))

  {

/*Check whether sum of "A[j]" and "A[k]" is equal to "A[i]". */

  if (A[i] == A[j] + A[k])

  {

/*Return true, if there are elements in array "A" that sum is equal to "A[i]". */

  return true;

  }

  }

  }

//Check whether "k+1" is equal to length of array

  if (k + 1 == A.length)

  {

/*Check whether "j+1" is less than to length of array. */

  if (j + 1 < A.length)

  {

/*Call checkSum() method recursively by passing the parameters as "A", "j+1", and "0" to sum the two elements is equal to "A[i]" and return it */

  return checkSum(A, j + 1, 0);

  }

/*Return true, if there are no elements in array "A" that sum is equal to "A[i]"...

Blurred answer
Students have asked these similar questions
Exercise 1 Function and Structure [30 pts] Please debug the following program and answer the following questions. There is a cycle in a linked list if some node in the list can be reached again by continuously following the next pointer. #include typedef struct node { int value; struct node *next; } node; int 11_has_cycle (node *first) if (first == node *head = { NULL) return 0; first; while (head->next != NULL) { } if (head first) { return 1; } head = head->next; return 0; void test ll_has_cycle () { int i; node nodes [6]; for (i = 0; i < 6; i++) { nodes [i] .next = NULL; nodes [i].value = i; } nodes [0] .next = &nodes [1]; nodes [1] .next = &nodes [2]; nodes [2] .next = &nodes [3]; nodes [3] .next nodes [4] .next &nodes [4]; NULL; nodes [5] .next = &nodes [0]; printf("1. Checking first list for cycles. \n Function 11_has_cycle says it has s cycle\n\n", 11_has_cycle (&nodes [0])?"a":"no"); printf("2. Checking length-zero list for cycles. \n Function 11_has_cycle says it has %s…
how to read log logs
Discrete Mathematics for Computer Engineering
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.
Similar questions
SEE MORE QUESTIONS
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
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT