Download presentation
Presentation is loading. Please wait.
Published byCaroline Robinson Modified over 9 years ago
1
CS1101X: Programming Methodology Recitation 9 Recursion II
2
CS1101X Recitation #92 Task 1: Mystery (1/6) Study the code below and if you like, trace the recursive method mystery(). What is the smaller version of the task on which the recursive call works? How does the original problem relate to the smaller problem? What does the method compute?
3
CS1101X Recitation #93 Task 1: Mystery (2/6) public static void main(String[] args) { // code to read values into array - omitted System.out.print("Answer = " + mystery(list, list.length); } // pre-cond: n > 0 public static int mystery(int[] a, int n) { if (n == 1) return a[0]; else { int m = mystery(a, n-1); return a[n-1] > m ? a[n-1]: m; }
4
CS1101X Recitation #94 Task 1: Mystery (3/6) Is the code a “going-up”, “going-down” or “split-half” recursion? Write the other two versions. You may also try other versions.
5
CS1101X Recitation #95 Task 1: Mystery (4/6) “Going-up” version
6
CS1101X Recitation #96 Task 1: Mystery (5/6) “Split-half” version
7
CS1101X Recitation #97 Task 1: Mystery (6/6) Other version
8
CS1101X Recitation #98 Task 2: Transpose Matrix (1/6) To transpose a square matrix, the columns become the rows and the rows become columns. For example, the 5 5 matrix on the left below is transposed into the matrix on the right.
9
CS1101X Recitation #99 Task 2: Transpose Matrix (2/6) Write a recursive method to transpose a square matrix. Hint: If the original problem is an n n matrix that extends from m[0][0] to m[n-1][n-1], then the smaller problem is the (n-1) (n-1) matrix that extends from m[0][0] to m[n-2][n-2].
10
CS1101X Recitation #910 Task 2: Transpose Matrix (3/6) import java.util.*; class Transpose { public static void main(String[] args) { int[][] matrix = createMatrix(); System.out.println("Before transpose:"); printMatrix(matrix); transpose(matrix, matrix.length); System.out.println(); System.out.println("After transpose:"); printMatrix(matrix); }... } Write the methods createMatrix, printMatrix, and transpose.
11
CS1101X Recitation #911 Task 2: Transpose Matrix (4/6) createMatrix
12
CS1101X Recitation #912 Task 2: Transpose Matrix (5/6) printMatrix
13
CS1101X Recitation #913 Task 2: Transpose Matrix (6/6) transpose
14
CS1101X Recitation #914 End of Recitation #9
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.