CSC 143/Chapter 12
From charlesreid1
Contents
- 1 Chapter 12: Recursion
- 1.1 Section 12.1: Thinking Recursively
- 1.2 Section 12.2: Better Example of Recursion
- 1.3 Section 12.3: Recursive Functions and Data
- 1.4 Section 12.4: Recursive Graphics
- 1.5 Section 12.5: Recursive Backtracking
- 1.6 Section 12.6: Case Study: Prefix Evaluator
- 1.7 Chapter 12 Summary
- 1.8 Chapter 12 Homework
- 1.9 Chapter 12 Code
- 1.10 Chapter 12 Goodies
- 2 Flags
Chapter 12: Recursion
Sections:
12.1 Thinking recursively
12.2 A better example of recursion
12.3 Recursive functions and data
12.4 Recursive graphics
12.5 Recursive backtracking
12.6 Case study: Prefix evaluator
Section 12.1: Thinking Recursively
12.1 Material
A non-programming example
An iterative solution converted to recursion
Structure of recursive solutions
Section 12.2: Better Example of Recursion
12.2 Material
Mechanics of recursion
Section 12.3: Recursive Functions and Data
12.3 Material
Integer exponentiation
Greatest common divisor
Directory crawler
Helper methods
Section 12.4: Recursive Graphics
12.4 Material
Section 12.5: Recursive Backtracking
12.5 Material
A simple example: traveling north/east
8 Queens Puzzle
Solving Sudoku puzzles
Section 12.6: Case Study: Prefix Evaluator
12.6 Material
Infix, prefix, and postfix notation
Evaluating prefix expressions
Complete program
Chapter 12 Summary
Deliverables
Recursive thinking, breaking down an "obviously" recursive algorithm.
Chapter 12 Homework
HW Questions
(Recommended) Self-check problems: #1, #2, #5, #7, #14, #16, #19, #22, #23, #28
(Required) Exercises: #4, #6, #15, #22
(Required) Projects: (none)
HW Details
Self-check:
- 1 - what is recursion
- 2 - base vs recursive case
- 5 - mystery recursion
- 7 - convert to recursive
- 14 - mystery recursion
- 16 - factorial recursion
- 19 - improve factorial recursion
- 22, 23 - backtracking
- 28 - 8 queens problem
Exercises:
- 4 - double digits of number
- 6 - printing list with recursion
- 15 - n pick r n!/(n-r)!
- 22 - backtracking to write integers as sum of unique integer squares
Projects:
- none
Chapter 12 Code
Lecture Code
NEED TO DO ALL OF THIS
Worksheet Code
Sudoku
- Backtrack algorithm
- Give them baseline of reading puzzle in, printing puzzle, doing some logic for checking rows/columns
- They implement the backtrack algorithm
Chapter 12 Goodies
Puzzle 5
Modular arithmetic, multiplicative inverses, importance of prime modulus and factoring
Profiles
Quotes
In 2002, Noam Chomsky co-wrote a paper stating that recursion is the "only uniquely human component of the faculty of language."
Buffalo buffalo buffalo buffalo buffalo buffalo buffalo buffalo buffalo buffalo.
NY animals ((that) NY animals bully) bully NY animals ((that) NY animals bully)
A child couldn't sleep, so her mother told a story about a little frog, who couldn't sleep, so the frog's mother told a story about a little bear, who couldn't sleep, so bear's mother told a story about a little weasel ...who fell asleep. ...and the little bear fell asleep; ...and the little frog fell asleep; ...and the child fell asleep.
The rule of thumb for recursion is, "Use recursion, if and only if on each iteration your task splits into two or more similar tasks".
Nice link discussing recursion: https://stackoverflow.com/questions/126756/examples-of-recursive-functions#
Flags
CSC 143 - Intro to Programming II Computer Science 143 - Intro to Programming II, South Seattle College.
Chapter 8: Object Oriented Reivew CSC 143/Chapter 8 Chapter 9: Inheritance and Interfaces CSC 143/Chapter 9 Chapter 10: ArrayList CSC 143/Chapter 10 Chapter 11: Java Collections Framework CSC 143/Chapter 11 Chapter 12: Recursion CSC 143/Chapter 12 Chapter 13: Searching and Sorting CSC 143/Chapter 13 Chapter 14: Stacks and Queues CSC 143/Chapter 14 Chapter 16: Linked Lists CSC 143/Chapter 16
Category:Teaching · Category:CSC 143 · Category:CSC Related: CSC 142 Flags · Template:CSC143Flag · e |