• No results found

Recursion: The MirrorsRecursion: The Mirrors

N/A
N/A
Protected

Academic year: 2021

Share "Recursion: The MirrorsRecursion: The Mirrors"

Copied!
40
0
0

Loading.... (view fulltext now)

Full text

(1)

Data Abstraction and Problem Solving with JAVA:

Data Abstraction and Problem Solving with JAVA:

Walls and Mirrors Walls and Mirrors

Carrano / Prichard Carrano / Prichard

Recursion: The Mirrors

Recursion: The Mirrors

(2)

Figure 2.1 Figure 2.1

A recursive solution

(3)

Figure 2.2 Figure 2.2

fact(3)

(4)

Figure 2.3 Figure 2.3

A box

(5)

Figure 2.4 Figure 2.4

The beginning of the box trace

(6)

Figure 2.5a Figure 2.5a

Box trace of fact(3)

(7)

Figure 2.5b Figure 2.5b

Box trace of fact(3)

(8)

Figure 2.5c Figure 2.5c

Box trace of fact(3)

(9)

Figure 2.6 Figure 2.6

A recursive solution

(10)

Figure 2.7a Figure 2.7a

Box trace of writeBackward(“cat”, 3)

(11)

Figure 2.7b Figure 2.7b

Box trace of writeBackward(“cat”, 3)

(12)

Figure 2.7c Figure 2.7c

Box trace of writeBackward(“cat”, 3)

(13)

Figure 2.8a Figure 2.8a

Box trace of writeBackward(“cat”, 3) in pseudocode

(14)

Figure 2.8b Figure 2.8b

Box trace of writeBackward(“cat”, 3) in pseudocode

(15)

Figure 2.8c Figure 2.8c

Box trace of writeBackward(“cat”, 3) in pseudocode

(16)

Figure 2.8d Figure 2.8d

Box trace of writeBackward(“cat”, 3) in pseudocode

(17)

Figure 2.8e Figure 2.8e

Box trace of writeBackward(“cat”, 3) in pseudocode

(18)

Figure 2.8f Figure 2.8f

Box trace of writeBackward(“cat”, 3) in pseudocode

(19)

Figure 2.9a Figure 2.9a

Box trace of writeBackward2(“cat”, 3) in pseudocode

(20)

Figure 2.9b Figure 2.9b

Box trace of writeBackward2(“cat”, 3) in pseudocode

(21)

Figure 2.9c Figure 2.9c

Box trace of writeBackward2(“cat”, 3) in pseudocode

(22)

Figure 2.9d Figure 2.9d

Box trace of writeBackward2(“cat”, 3) in pseudocode

(23)

Figure 2.9e Figure 2.9e

Box trace of writeBackward2(“cat”, 3) in pseudocode

(24)

Figure 2.10 Figure 2.10

Recursive solution to the rabbit problem

(25)

Figure 2.11 Figure 2.11

Recursive calls that rabbit(7) generates

(26)

Figure 2.12 Figure 2.12

The recursive calls that c(4, 2) generates

(27)

Figure 2.13 Figure 2.13

Recursive solution to the largest-item problem

(28)

Figure 2.14 Figure 2.14

The recursive calls that maxArray(<1, 6, 8, 3>) generates

(29)

Figure 2.15 Figure 2.15

Box traces of binarySearch with anArray = <1,5,9,12,15,21,29,31>:

a) a successful search for 9; b) an unsuccessful search for 6

(30)

Figure 2.16 Figure 2.16

Box trace with reference to an array

(31)

Figure 2.17 Figure 2.17

A sample array

(32)

Figure 2.18 Figure 2.18

A partition about a pivot

(33)

Figure 2.19a and b Figure 2.19a and b

a) The initial state; b) move n - 1 disks from A to C

(34)

Figure 2.19c and d Figure 2.19c and d

c) move one disk from A to B; d) move n - 1 disks from C to B

(35)

Figure 2.20 Figure 2.20

The order of recursive calls that results from solveTowers(3, A, B, C)

(36)

Figure 2.21a Figure 2.21a

Box trace of solveTowers(3, ‘A’, ‘B’, ‘C’)

(37)

Figure 2.21b Figure 2.21b

Box trace of solveTowers(3, ‘A’, ‘B’, ‘C’)

(38)

Figure 2.21c Figure 2.21c

Box trace of solveTowers(3, ‘A’, ‘B’, ‘C’)

(39)

Figure 2.21d Figure 2.21d

Box trace of solveTowers(3, ‘A’, ‘B’, ‘C’)

(40)

Figure 2.21e Figure 2.21e

Box trace of solveTowers(3, ‘A’, ‘B’, ‘C’)

References

Related documents